2013-07-18 75 views
0

我在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。我不能爲我的生活工作有什麼錯誤/丟失:(

回答

0

您的LAMP服務器的重寫規則只是在domain.com推杆。

RewriteCond %{HTTP_HOST} stats\.(.*) [NC] 
RewriteRule ^$ http://%1/awstats/awstats.pl?config=%1 [L,R=301] 

您的評論上述說它應該是WWW ,更像是第一條規則。

RewriteRule ^.*$ http://www.%1/awstats/awstats.pl?config=%1 [L,R=301] 
+0

不幸的是,那不是它,因爲每個虛擬主機既沒有www的配置。子域名前綴。我已經更新上面的帖子來糾正這個:) – Daemonic