2

出于某种原因,我在 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文件,如上所述)?

4

0 回答 0