[英]mod_rewrite in httpd.conf not working (but does in .htaccess)
我在2個不同的服務器上有一個非常相似的設置(工作的一個是在Centos 6上的Plesk安裝,另一個是在Centos 6上的普通LAMP設置),並且在普通LAMP服務器上的mod_rewrite有問題。
我已經比較了兩台服務器上的httpd.conf(及其關聯的include),並且兩者(出於所有意圖和目的)都是相同的。
在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.com重定向到http://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等的虛擬主機,然后將相同的重寫添加到該documentroot中的.htaccess,則重定向工作正常。
如果啟用重寫日志記錄,則可以看到正在運行.htaccess版本,但httpd.conf中沒有任何內容。 我無法為自己的生命解決錯誤/遺漏的問題:(
您的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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.