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