【问题标题】:need to change htaccess rewrite code需要更改 htaccess 重写代码
【发布时间】:2013-11-26 21:17:04
【问题描述】:

我刚刚遇到了一个 Codeigniter 站点的问题,在托管公司将文件迁移到新服务器后,我无法再离开主页。我用谷歌搜索了一个有类似问题的论坛,答案是我的 htacess 文件。以前是这样的:

 Options FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule> 

给定的解决方案是添加一个“?” 'index.php' 之后的字符。我这样做了,然后一切正常。

我已经努力理解 htaccess 代码和语法并阅读了许多文档,但从我能从中理解的所有意义上来说,它们还是用中文写的。那么任何人都可以解释为什么额外的'?需要它,它做了什么?如果你也能解释其余的代码,我将永远感激不尽!

【问题讨论】:

  • 你知道index.php/fooindex.php?foo url是什么意思吗?

标签: php apache .htaccess codeigniter mod-rewrite


【解决方案1】:

您的新主机的 php 处理程序或网络服务器未设置为处理 PATH INFO,或作为实际路径一部分的脚本 (index.php) 之后的内容,例如

/index.php/this/is/part/of/the/path_info

index.php 脚本被执行,之后的所有内容都可以通过“PATH_INFO”获取。如果服务器不处理这个,代码点火器可以选择处理作为 QUERY STRING 传入的路径。哪些是? 后面的参数。

这些都与 htaccess 或 mod_rewrite 无关。这就是 URL 和处理程序的工作方式。

【讨论】:

  • 啊,非常感谢。关于 Apache 的怪异,我得出了所有错误的结论。现在很清楚了。仍然不明白其余的代码!
猜你喜欢
  • 2012-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 2019-01-22
相关资源
最近更新 更多