【问题标题】:Redirect URLs without index.php [duplicate]没有 index.php 的重定向 URL [重复]
【发布时间】:2013-04-30 03:05:48
【问题描述】:

好的,我需要的东西应该很简单(我已经注意到其他几个相关的问题,但没有一个对我有用)。

我正在构建一个基于 CodeIgniter 的网站,我需要能够使用以下方式访问所有控制器:

www.mysite.com/some-controller/some-method

而不是

www.mysite.com/index.php/some-controller/some-method

我的 .htaccess 应该包含什么?

【问题讨论】:

  • 你真的确定this question 不包含你需要的答案吗?
  • that
  • @eyecatchUp 更新 RewriteCond 中的路径后(因为 CI 安装位于 SUB 文件夹中),链接中的答案确实有效。但是,我怎样才能使/index.php/something URL 不再起作用? (我只需要他们的 without-index.php 对应项)。
  • 试试这个链接。它可能会帮助你 [stackoverflow.com/questions/5155333/…
  • -1 原因很明显....

标签: php .htaccess codeigniter redirect


【解决方案1】:

试试这个 删除

 $config['index_page'] ='index.php';

替换为

 $config['index_page'] ='';

【讨论】:

  • 我的 index_page 已经设置为 nothing 但它仍然无法正常工作...
【解决方案2】:

请把它放到你的 .htaccess 文件中

  <IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
  </IfModule>

【讨论】:

  • 请不要发布重复的答案,而是链接到现有线程(请参阅问题的 cmets)。
  • 好的...会处理的。但是这个是我在各种基于 CI 的项目中一直使用的。
  • 嗯...感谢您的回复。然而,奇怪的是它对我不起作用。 (而且我已将 RewriteRule 更改为 the-full-path/to-my-website-subfolder/index.php?/$1 - 不确定这是否是正确的做法......)
猜你喜欢
  • 2014-09-16
  • 1970-01-01
  • 2018-05-29
  • 2014-08-08
  • 1970-01-01
  • 2014-09-26
  • 1970-01-01
  • 1970-01-01
  • 2021-05-10
相关资源
最近更新 更多