出于某种原因,我在 Apache(或更具体地说是 XAMPP)中创建规则时找到的每个教程/答案mod_rewrite
仅涵盖.htaccess文件的使用,但我需要创建“全局”mod_rewrite
规则,即所谓的“在 VirtualHost 上”级别”在 Apache 文档中。
我已经在httpd.confmod_rewrite
文件中启用/取消注释模块的加载,据我了解,之后需要做的就是在 Apache 配置中的正确位置添加以下行:
RewriteEngine on
RewriteRule ^/?testtest/.* /test.php
(即此测试规则应将所有对 URL“ http://localhost/testtest/ *”的访问重写为 URL“ http://localhost/test.php ”)
我还尝试了“L”标志来排除我重写后发生的任何奇怪的其他重写,如下所示,但没有不同的结果:
RewriteEngine on
RewriteRule ^/?testtest/.* /test.php [L]
我猜这里的关键词是“在正确的位置”,因为我试图在各个“目录”指令和httpd.conf文件的最后几行中或多或少地插入这些行,但似乎没有任何效果? (是的,我也在每次配置更改后重新启动 Apache)
我没有在配置中的任何位置定义任何 VirtualHost 指令,除了httpd-ssl.confVirtualHost _default_:443
中的默认值(即既不在httpd.conf也不在httpd-vhosts.conf 中),因为我只运行一个实例并希望这些规则适用到处。
所以,总结一下:
在默认的 XAMPP 安装中(在 Windows 上,如果重要的话),让全局mod_rewrite
规则工作的最小步骤是什么,例如上面列出的测试规则(并且不使用任何.htaccess文件,如上所述)?