我的.htaccess
文件中包含以下摘录:
RewriteEngine On
# Whether RewriteBase is commented does not appear to have an impact on my problem
# RewriteBase /
RewriteRule ^admin/(.*) members/$1 [L]
这个想法是/admin
中的页面是从/members
目录中加载的,因为某些功能在它们之间是重复的,所以我不必重复我的代码。 (文件中还有其他与CMS系统相关的指令,它们正在按预期方式工作。)
在当前的Apache 2.2服务器上,一切正常。我的客户的网络主机希望升级到使用Apache 2.4的服务器,并且在测试服务器上,重写规则失败。而不是加载页面,它只会显示“找不到文件”。
所有其他规则均按预期执行,只是失败了。我尝试添加/删除/
字符并从规则中删除[L]
,但它总是失败。我尝试添加[R]
来将重定向发送到浏览器,但是即使失败了。但是,如果我将URL更改为members
目录中的相同文件名,则文件加载成功。
能够将一个目录名称更改为另一个目录似乎是mod_rewrite的一项非常基本的功能。我想念什么?