jjzjj

php - 无法删除 index.php,自定义路由不起作用

coder 2024-05-03 原文

我知道这个问题更适合服务器故障,但不幸的是,我因质量低劣的问题而被禁止(我对我提出的 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 中包含您的搜索词,您可以查看以下内容:

https://stackoverflow.com/a/12070284/1379394

关于php - 无法删除 index.php,自定义路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18399558/

有关php - 无法删除 index.php,自定义路由不起作用的更多相关文章

  1. C#:从字符串中删除常见的无效字符:改进此算法 - 2

    考虑从字符串中去除无效字符的要求。只需删除字符并替换为空白或string.Empty。char[]BAD_CHARS=newchar[]{'!','@','#','$','%','_'};//simpleexampleforeach(charbadinBAD_CHARS){if(someString.Contains(bad))someString=someString.Replace(bad.ToString(),string.Empty);}我真的很想这样做:if(BAD_CHARS.A

  2. c# - 在 Winforms 的标签上使用自定义字体 - 2

    我的Winform上有一个标签,我想使用一种名为XCalibur的自定义字体,使它看起来更时髦。如果我在标签上使用自定义字体,然后构建解决方案,然后.ZIP\bin\Release中的文件,最终用户将看到带有我使用的自定义应用程序的标签,无论他们是否安装了该字体?如果不是这种情况,在Labels.Text上使用自定义字体的正确方法是什么? 最佳答案 在浏览了大约30-50篇关于此的帖子后,我终于能够想出一个实际可行的解决方案!请按顺序执行以下步骤:1.)在您的应用程序资源中包含您的字体文件(在我的例子中是ttf文件)。为此,请双击“

  3. c# - 如何删除 'Click' 的 'Button' 事件的所有事件处理程序? - 2

    我有一个按钮控件,我需要删除所有附加到其Clickevent的事件处理程序.这怎么可能?Buttonbutton=GetButton();button.Click.RemoveAllEventHandlers(); 最佳答案 Note:SincethequestiononwhichIpostedmyoriginalanswerwasclosedasaduplicateofthisquestion,I'mcross-postinganimprovedversionofmyanswerhere.Thisansweronlyapp

  4. c# - List.Sort(自定义排序...) - 2

    我有一个包含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

  5. c# - 使用 Nhibernate 时,检查 C# .Net 中的列表相等性不起作用 - 2

    我似乎在检查列表相等性时遇到了问题。在我的例子中,我有两个角色对象,我想看看它们是否相等。每个角色都包含一个名称和一个权限列表。每个权限仅包含一个名称。publicclassRole:BaseDomain{virtualpublicStringName{get;set;}virtualpublicIListPermissions{get;set;}}publicclassPermission{virtualpublicStringName{get;set;}}我在Role和Permission对象上定义了一个equals方法。这些对象是使用Nhibernate从数据库中加载的。这意味着

  6. c# - htmlagilitypack - 删除脚本和样式? - 2

    我使用以下方法从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

  7. c# - 在 MVC4 中添加 Controller 不起作用 - 2

    我使用的是VS2010Premium。我有一个使用SqlCe4.0和EntityFramework模型的MVC4项目。模型是:publicclassProjectBuild{publicintProjectBuildID{get;set;}publicstringname{get;set;}}publicclassProjectBuildContext:DbContext{publicDbSet<ProjectBuild>builds{get;set;}}下面是我的连接字符串:addname="ProjectBuildContext"connectionSt

  8. c# - 自定义 ASP.NET MVC ActionFilterAttribute - 永远不会调用 Hook - 2

    您好,我正在尝试做一些看起来很简单的事情,并且以这种方式进行了记录,但由于某种原因,它并没有那么容易。基本上我是这样写的:publicclassCacheControllAttribute:ActionFilterAttribute{publicoverridevoidOnResultExecuting(ResultExecutingContextfilterContext){//dosomethingbase.OnResultExecuting(filterContext);}}然而,当我尝试在这样的操作结果上使用它时:[CacheControllAttribute]publicAc

  9. c# - List<T> 上的自定义 OrderBy - 2

    我正在尝试找出自定义排序列表的最佳方法。假设T是一个具有日期(DateTime?)属性和状态(字符串)属性的对象。我有3个案例...“紧急”:我想要这些在列表的顶部,没有特定的顺序日期=空status="紧急"“正常”:我希望这些在紧急情况之后按日期排序日期=任何有效的日期/时间status="准时"“稍后”:我想要这些在列表的底部,没有特定的顺序日期=空status="稍后"有什么想法吗?我应该使用IQuerable对象而不是List吗?我总是可以.ToList()稍后将对象发送到我的View。 最佳答案 query=query.

  10. c# - 使用 mshtml 不起作用 - 2

    我有一个C#应用程序,我尝试使用一些mshtml元素。但我有一个问题。usingmshtml;命名空间给我一个错误是VisualStudio2012。这是我的源代码,namespaceTagger{usingmshtml;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;usingSystem.Text;publicclassHTMLForm{privatestring_action="";privatestri

随机推荐

  1. c# - 如何在特定选定项目内的 TFS 源代码管理中搜索特定文件? - 2

    代码: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

  2. c# - 使用 mshtml 不起作用 - 2

    我有一个C#应用程序,我尝试使用一些mshtml元素。但我有一个问题。usingmshtml;命名空间给我一个错误是VisualStudio2012。这是我的源代码,namespaceTagger{usingmshtml;usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Runtime.CompilerServices;usingSystem.Text;publicclassHTMLForm{privatestring_action="";privatestri

  3. c# - EPPlus 自动过滤器仅适用于最后一个电池 - 2

    我希望标题中的每个单元格都包含一个自动过滤器。下面是我尝试使用的代码,但是autofilter仅在指定的最后一个单元格上设置。例如,如果我注释掉K1的autofilter命令,则创建电子表格时C1是唯一具有自动过滤器。//Headersws.Cells["A1"].Value="ChannelCode";ws.Cells["A1"].AutoFilter=true;ws.Cells["B1"].Value="DrmTerrDesc";ws.Cells["B1"].AutoFilter=tru

  4. c# - 无法分配,因为它是方法组 C#? - 2

    无法分配“AppendText”,因为它是“方法组”。publicpartialclassForm1:Form{Stringtext="";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){Stringinches=textBox1.Text;text=ConvertToFeet(inches)+ConvertToYards(inches);textBox2.AppendText=text;}privateStringConvertToFeet(S

  5. c# - 将匿名类型列表转换为动态对象列表 - 2

    为什么我不能转换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&

  6. c# - 如何使用异步等待模式初始化对象 - 2

    我试图在我的服务类中遵循RAII模式,这意味着当一个对象被构建时,它就被完全初始化了。但是,我在使用异步API时遇到了困难。相关类的结构如下所示classServiceProvider:IServiceProvider//Isonlyusedthroughthisinterface{publicintImportantValue{get;set;}publiceventEventHandlerImportantValueUpdated;publicServiceProvider(IDependency1dep1,IDependency2dep2){//IDependency1provi

  7. c# - 如何使用 C# 以编程方式安装证书 - 2

    我学校的网页有自信任证书(必须手动安装)。我想创建一个程序,用于将certificate.cer(来自VisualStudio资源)安装到本地用户的Trustedrootcertificateauthority。你知道我如何在C#中做到这一点吗? 最佳答案 要以编程方式将证书添加到当前用户的受信任根存储,请使用X509Store和X509Certificate2类。例如:stringfile;//ContainsnameofcertificatefileX509Storestore=newX509Store(StoreName.Ro

  8. c# - 如何禁用选中列表框中的复选框? - 2

    我在CheckedListBox中有一些项目,我想禁用其中第一个项目的CheckBox。即我想禁用CheckedListBox中的第一项,因为我想直观地告诉用户该选项不可用。 最佳答案 结合上述部分答案中的2个对我来说效果很好。将您的项目添加到列表中:myCheckedListBox.Items.Add(myItem,myState);其中myState是CheckState.Indeterminate,表示应禁用的项目。然后添加一个事件处理程序以防止这些项目被更改:myCheckedListBox.ItemCheck+=(s,e)

  9. c# - 在 C# 中使用 LinkLabel 超链接电子邮件地址 - 2

    我制作了一个关于框,旨在允许用户单击超链接电子邮件地址,这会将他们带到MicrosoftOutlook以便能够向该电子邮件地址发送电子邮件,但我不知道如何链接它到Outlook并允许用户单击链接来执行此操作 最佳答案 您没有说您使用的是Win还是WebForms...在WinForms中,我认为您需要为单击事件创建一个事件处理程序。在其中,您可以通过键入以下内容来启动默认邮件应用程序:System.Diagnostics.Process.Start("mailto:youremail@xx.com");

  10. c# - 您如何在 LINQ 中进行自定义排序,最后始终为 null? - 2

    我需要在内存中按升序或降序对字符串或数字列表进行排序。但是,列表可以包含空值,并且所有空值都必须出现在数字或字符串之后。也就是说输入数据可能是: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