1

我在一个 htaccess 文件中重写了规则,除了一个奇怪的问题没有像它应该的那样重定向到 index.php 之外。

在 Debian 上运行的 apache2

site.com/abc/xyz 通过 site.com/index.php 处理它应该

site.com/somethingelse/folderx/1234 通过 site.com/index.php 处理它应该

site.com/accounts/ 通过 site.com/index.php 处理它应该但是 site.com/accounts/orders/1234 直接处理到 site.com/accounts/orders.php 而不像它那样去 root/index.php应该。

在 htaccess 中重写规则:

RewriteRule \. - [L]
RewriteRule (.*)$ index.php [L]

我没有看到一个简单的原因吗?

4

1 回答 1

2

看起来好像你已经Multiviews打开了。这是内容协商的一部分,可能会导致 apache 做一些意想不到的事情,比如你用/orders/->描述的事情/orders.php。尝试关闭它:

Options -Multiviews
RewriteRule \. - [L]
RewriteRule (.*)$ index.php [L]
于 2013-04-09T22:02:53.967 回答