我知道这个问题更适合服务器故障,但不幸的是,我因质量低劣的问题而被禁止(我对我提出的 2-3 个问题投了反对票。)所以下一个提出这些问题的最佳地点是这里。
我有两个与 CodeIgniter 路由相关的问题。
第一个问题是我似乎无法摆脱 url 中的 index.php
。我关注了instructions on how to remove it .我在我的 WAMP 服务器根目录下的 .htaccess 文件(见下文)中有以下 mod 重写代码(CI 位于根目录,而不是在它自己的文件夹中)。我在 httpd.conf
文件 LoadModule rewrite_module modules/mod_rewrite.so
中取消了这一行的注释。我从 $config['index_page'] = "index.php";
中删除了 index.php
。我重新启动了所有 WAMP 服务。
我的第二个问题是我有一个名为 search
的 Controller 和一个名为 index
的方法。我想将生成的 URL 从 http://localhost/index.php/search/index
更改为 http://localhost/search/whatever_im_searching_for
。我在 routes.php 文件中尝试了以下自定义路由,但它不起作用:$route['search/(.*)'] = "search/$1";
RewriteEngine On
# Put your installation directory here:
# If your URL is www.example.com/, use /
# If your URL is www.example.com/site_folder/, use /site_folder/
RewriteBase /
# Do not enable rewriting for files or directories that exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# For reuests that are not actual files or directories,
# Rewrite to index.php/URL
RewriteRule ^(.*)$ index.php/$1 [PT,L]
我正在努力理解 .htaccess
中的代码以及如何使用 CI 的自定义路由。任何帮助将不胜感激。提前谢谢你。
编辑 1
最佳答案
像这样编辑你的 htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^LoginTut.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond $1 !^(index\.php|images|table-images|js|robots\.txt|css|captcha)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
要在 url 中包含您的搜索词,您可以查看以下内容:
关于php - 无法删除 index.php,自定义路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18399558/
考虑从字符串中去除无效字符的要求。只需删除字符并替换为空白或string.Empty。char[]BAD_CHARS=newchar[]{'!','@','#','$','%','_'};//simpleexampleforeach(charbadinBAD_CHARS){if(someString.Contains(bad))someString=someString.Replace(bad.ToString(),string.Empty);}我真的很想这样做:if(BAD_CHARS.A
我的Winform上有一个标签,我想使用一种名为XCalibur的自定义字体,使它看起来更时髦。如果我在标签上使用自定义字体,然后构建解决方案,然后.ZIP\bin\Release中的文件,最终用户将看到带有我使用的自定义应用程序的标签,无论他们是否安装了该字体?如果不是这种情况,在Labels.Text上使用自定义字体的正确方法是什么? 最佳答案 在浏览了大约30-50篇关于此的帖子后,我终于能够想出一个实际可行的解决方案!请按顺序执行以下步骤:1.)在您的应用程序资源中包含您的字体文件(在我的例子中是ttf文件)。为此,请双击“
我有一个按钮控件,我需要删除所有附加到其Clickevent的事件处理程序.这怎么可能?Buttonbutton=GetButton();button.Click.RemoveAllEventHandlers(); 最佳答案 Note:SincethequestiononwhichIpostedmyoriginalanswerwasclosedasaduplicateofthisquestion,I'mcross-postinganimprovedversionofmyanswerhere.Thisansweronlyapp
我有一个包含3个项目的List对象:Partial、FullToH和FullToO。我将此列表绑定(bind)到aspOptionButtonList,并按字母顺序对其进行排序。但是,我想按如下方式对列表进行排序:全到H,部分,全到O。我怎样才能做到这一点? 最佳答案 Linq对此非常有用。您甚至可以构建顺序序列以动态定义它,因为直到ToList才执行排序。varsortedList=yourList.OrderBy(i=>i.FullToH).ThenBy(i=>i.Partial).ThenBy(i=>i.Fu
我似乎在检查列表相等性时遇到了问题。在我的例子中,我有两个角色对象,我想看看它们是否相等。每个角色都包含一个名称和一个权限列表。每个权限仅包含一个名称。publicclassRole:BaseDomain{virtualpublicStringName{get;set;}virtualpublicIListPermissions{get;set;}}publicclassPermission{virtualpublicStringName{get;set;}}我在Role和Permission对象上定义了一个equals方法。这些对象是使用Nhibernate从数据库中加载的。这意味着
我使用以下方法从html中提取文本:publicstringgetAllText(string_html){string_allText="";try{HtmlAgilityPack.HtmlDocumentdocument=newHtmlAgilityPack.HtmlDocument();document.LoadHtml(_html);varroot=document.DocumentNode;varsb=newStringBuilder();foreach(varnodeinroot.DescendantNodesAndSelf()){if(!node.HasC
我使用的是VS2010Premium。我有一个使用SqlCe4.0和EntityFramework模型的MVC4项目。模型是:publicclassProjectBuild{publicintProjectBuildID{get;set;}publicstringname{get;set;}}publicclassProjectBuildContext:DbContext{publicDbSet<ProjectBuild>builds{get;set;}}下面是我的连接字符串:addname="ProjectBuildContext"connectionSt
您好,我正在尝试做一些看起来很简单的事情,并且以这种方式进行了记录,但由于某种原因,它并没有那么容易。基本上我是这样写的:publicclassCacheControllAttribute:ActionFilterAttribute{publicoverridevoidOnResultExecuting(ResultExecutingContextfilterContext){//dosomethingbase.OnResultExecuting(filterContext);}}然而,当我尝试在这样的操作结果上使用它时:[CacheControllAttribute]publicAc
我正在尝试找出自定义排序列表的最佳方法。假设T是一个具有日期(DateTime?)属性和状态(字符串)属性的对象。我有3个案例...“紧急”:我想要这些在列表的顶部,没有特定的顺序日期=空status="紧急"“正常”:我希望这些在紧急情况之后按日期排序日期=任何有效的日期/时间status="准时"“稍后”:我想要这些在列表的底部,没有特定的顺序日期=空status="稍后"有什么想法吗?我应该使用IQuerable对象而不是List吗?我总是可以.ToList()稍后将对象发送到我的View。 最佳答案 query=query.
我有一个C#应用程序,我尝试使用一些mshtml元素。但我有一个问题。usingmshtml;命名空间给我一个错误是VisualStudio2012。这是我的源代码,namespaceTagger{usingmshtml;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;usingSystem.Text;publicclassHTMLForm{privatestring_action="";privatestri
代码:stringspName="usp_Test_Procedure.sql";vartfsPp=newTeamProjectPicker(TeamProjectPickerMode.SingleProject,false);tfsPp.ShowDialog();_tfs=tfsPp.SelectedTeamProjectCollection;if(tfsPp.SelectedProjects.Any()){_selectedTeamProject=tfsPp.SelectedProjects[0];}stringselectedProjectName=_select
我有一个C#应用程序,我尝试使用一些mshtml元素。但我有一个问题。usingmshtml;命名空间给我一个错误是VisualStudio2012。这是我的源代码,namespaceTagger{usingmshtml;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;usingSystem.Text;publicclassHTMLForm{privatestring_action="";privatestri
我希望标题中的每个单元格都包含一个自动过滤器。下面是我尝试使用的代码,但是autofilter仅在指定的最后一个单元格上设置。例如,如果我注释掉K1的autofilter命令,则创建电子表格时C1是唯一具有自动过滤器。//Headersws.Cells["A1"].Value="ChannelCode";ws.Cells["A1"].AutoFilter=true;ws.Cells["B1"].Value="DrmTerrDesc";ws.Cells["B1"].AutoFilter=tru
无法分配“AppendText”,因为它是“方法组”。publicpartialclassForm1:Form{Stringtext="";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Stringinches=textBox1.Text;text=ConvertToFeet(inches)+ConvertToYards(inches);textBox2.AppendText=text;}privateStringConvertToFeet(S
为什么我不能转换List<AnonymousObject>到List<dynamic>?我有以下代码:vardatasource=someList.Select(o=>new{x=o.A,y=o.B});dgvSomeGridView.DataSource=datasource.ToList();dgvSomeGridView.DataBind();然后我访问GridView.DataSource使用以下代码:vards=((List<dynamic>)dgvSomeGridView.DataSource);....但它在我将其转换为List&
我试图在我的服务类中遵循RAII模式,这意味着当一个对象被构建时,它就被完全初始化了。但是,我在使用异步API时遇到了困难。相关类的结构如下所示classServiceProvider:IServiceProvider//Isonlyusedthroughthisinterface{publicintImportantValue{get;set;}publiceventEventHandlerImportantValueUpdated;publicServiceProvider(IDependency1dep1,IDependency2dep2){//IDependency1provi
我学校的网页有自信任证书(必须手动安装)。我想创建一个程序,用于将certificate.cer(来自VisualStudio资源)安装到本地用户的Trustedrootcertificateauthority。你知道我如何在C#中做到这一点吗? 最佳答案 要以编程方式将证书添加到当前用户的受信任根存储,请使用X509Store和X509Certificate2类。例如:stringfile;//ContainsnameofcertificatefileX509Storestore=newX509Store(StoreName.Ro
我在CheckedListBox中有一些项目,我想禁用其中第一个项目的CheckBox。即我想禁用CheckedListBox中的第一项,因为我想直观地告诉用户该选项不可用。 最佳答案 结合上述部分答案中的2个对我来说效果很好。将您的项目添加到列表中:myCheckedListBox.Items.Add(myItem,myState);其中myState是CheckState.Indeterminate,表示应禁用的项目。然后添加一个事件处理程序以防止这些项目被更改:myCheckedListBox.ItemCheck+=(s,e)
我制作了一个关于框,旨在允许用户单击超链接电子邮件地址,这会将他们带到MicrosoftOutlook以便能够向该电子邮件地址发送电子邮件,但我不知道如何链接它到Outlook并允许用户单击链接来执行此操作 最佳答案 您没有说您使用的是Win还是WebForms...在WinForms中,我认为您需要为单击事件创建一个事件处理程序。在其中,您可以通过键入以下内容来启动默认邮件应用程序:System.Diagnostics.Process.Start("mailto:youremail@xx.com");
我需要在内存中按升序或降序对字符串或数字列表进行排序。但是,列表可以包含空值,并且所有空值都必须出现在数字或字符串之后。也就是说输入数据可能是:1,100,null,5,32.3上升的结果是1,5,32.3,100,null降序列表将是100,32.3,5,1,null关于如何使这项工作有任何想法吗? 最佳答案 我面前没有编译器可以检查,但我在想:x.OrderBy(i=>i==null).ThenBy(i=>i) 关于c#-您如何在LINQ中进行自定义排序,最后始终为nul