2015-06-07 102 views
0

我有幾個網站,並使用相同mod_rewrite。我喜歡爲它增加兩個附加條件,並基於我在這裏找到的許多解決方案,而且似乎沒有任何解決方案可行。Mod_rewrite動態規則不起作用

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我有我的網站使用以下解決方案。
domain.com轉發到www.domain.com

我喜歡在上述條件中添加以下兩個條件。

  1. 刪除尾部的斜線。如果我有www.domain.com/它刪除 是斜線,不幸的是,由於某種原因,如果有 末多斜線不www.domain.com//

  2. 刪除索引。 html from www.domain.com/index.html

使這種動態是可以通過這個。如果我使用域本身的建議,我沒有問題。有一次,我添加了http://www.%{HTTP_HOST}%{REQUEST_URI},一切都很順利。

回答

0

我使用此重寫將domain.com重定向到www.domain.com。沒有問題//

RewriteEngine on 

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] 
RewriteRule ^(.*)$ http://www.domain.com$1 [R,L] 

#this could work for you (untested) 
RewriteCond %{HTTP_HOST} !^www.\$ [NC] 
RewriteCond %{HTTP_HOST} !^$ 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R,L] 

#redirect /index.html to/
RewriteRule ^/index.html/[R=301,L]