Vhosts 中的 Apache 2.4 mod_rewrite 无法在 WAMP 本地服务器中运行,但在 .htaccess 中运行

Vhosts 中的 Apache 2.4 mod_rewrite 无法在 WAMP 本地服务器中运行,但在 .htaccess 中运行

我在 Apache 2.2 本地开发服务器中有一些 mod_rewrite 规则,它们运行良好。现在升级到 Apache 2.4 后,我尝试执行一个简单的 mod_rewrite 规则,但它不起作用。但它可以与 .htAccess 一起使用。这是路径问题吗?还是 mod_rewrite 在 Apache 2.4 中有所不同?有什么建议吗?

本地开发服务器信息:WAMP-Server 2.5 - Windows 7 mod_rewrite 已加载并显示在 php_info() 中

Apache 配置: http://apaste.info/OF3

<VirtualHost *:80>

ServerAdmin [email protected]
DocumentRoot "C:/wamp/www"
ServerName site1.example.com
ErrorLog "logs/site1-error.log"
CustomLog "logs/site1-access.log" common

<Directory "/site1">
Options +FollowSymLinks -MultiViews 
RewriteEngine On
RewriteBase /
LogLevel alert rewrite:trace3
RewriteRule ^/index.html$ /welcome.html
</Directory>

</VirtualHost> 

答案1

我猜您在 中指定的路径<Directory "/site1">不正确。您有DocumentRoot "C:/wamp/www",这意味着您的网站的根目录位于该目录中。为了使用 应用重写规则<Directory>,您必须指定完整路径:

<Directory "C:/wamp/www">
    [...]
</Directory>

或者可能:

<Directory "C:/wamp/www/site1">
    [...]
</Directory>

取决于您实际尝试使用来引用哪条路径/site1

相关内容