为什么相同的.htaccess命令在localhost和server中的工作方式不同?

时间:2015-06-16 13:20:01

标签: php apache .htaccess url-rewriting

我有以下.htaccess命令用于重定向php页面

RewriteRule ^(.*)$ index.php/$1 [L]

此代码在localhost中工作。它在Web服务器中不起作用。但是当稍微修改代码时,它可以在服务器中运行。

RewriteRule ^(.*)$ index.php?/$1 [L]

为什么会这样?

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是因为您可能正在运行不同的 PHP版本。我相信这已被认为是一段时间的PHP错误,但不要引用我的话。您可能在本地主机上运行早期版本的PHP(如5.2.X),而在您的Web服务器上运行较新版本。这不是.htaccess问题。这是PHP。您只需要根据版本知道要使用哪一个。

也可以参考这个答案。

https://stackoverflow.com/a/4365161/330987