我在2臺不同的服務器上有一個非常類似的設置(工作之一是在Centos 6上安裝Plesk,另一個是在Centos 6上非常簡單的LAMP安裝)並在即時通訊LAMP服務器上與mod_rewrite問題。httpd.conf中的mod_rewrite不工作(但在.htaccess中)
我已經比較了兩個服務器上的httpd.conf(以及相關的包含),並且兩者都是(對於所有意圖和目的)相同。
在plesk服務器上,我在httpd.conf文件中有以下內容,它將http://stats.domain.com重定向到http://www.domain.com/webstat/,這是一種享受;
<VirtualHost *:80>
ServerName stats
ServerAlias stats.*
UseCanonicalName Off
RewriteEngine On
RewriteCond %{HTTP_HOST} stats\.(.*) [NC]
RewriteRule ^.*$ http://www.%1/webstat/ [L,R=301]
</VirtualHost>
在LAMP服務器我在我的httpd.conf文件下面這應該重定向到http://stats.domain.comhttp://www.domain.com/awstats/awstats.pl?config=domain.com
<VirtualHost *:80>
ServerName stats
ServerAlias stats.*
UseCanonicalName Off
RewriteEngine On
RewriteCond %{HTTP_HOST} stats\.(.*) [NC]
RewriteRule ^$ http://www.%1/awstats/awstats.pl?config=%1 [L,R=301]
</VirtualHost>
這不是在httpd.conf文件時,雖然工作。如果我添加stats.domain.com作爲虛擬主機與完全documentroot等,然後添加相同的重寫.htaccess內的文檔,重定向工作正常。
如果我啓用重寫日誌記錄,那麼我可以看到正在通過的.htaccess版本,但沒有任何來自httpd.conf。我不能爲我的生活工作有什麼錯誤/丟失:(
不幸的是,那不是它,因爲每個虛擬主機既沒有www的配置。子域名前綴。我已經更新上面的帖子來糾正這個:) – Daemonic