Mod-Rewrite

Vhosts 中的 Apache 2.4 mod_rewrite 不在 WAMP 本地伺服器中工作,但在 .htaccess 中工作

  • June 14, 2015

我在 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()

阿帕奇配置: http ://apaste.info/OF3

<VirtualHost *:80>

ServerAdmin webmaster@site1.com
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> 

我的猜測是您指定的路徑<Directory "/site1">不正確。你有DocumentRoot "C:/wamp/www",這意味著你網站的根目錄在那個目錄中。為了使用 應用重寫規則<Directory>,您必須指定完整路徑:

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

或許:

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

根據您實際嘗試引用的路徑,使用/site1.

引用自:https://serverfault.com/questions/698924