2014-11-14 80 views
0

staging.domain.com應轉到domain.com/blog(最後一條規則),但轉到domain.com staging.domain.com/category/food應轉到domain.com /博客/分類/食品重寫條件僅運行第一個

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^staging.domain.com/category [NC] 
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,NC] 

RewriteCond %{HTTP_HOST} ^staging.domain.com/work/ [NC] 
RewriteRule ^(.*)$ http://domain.com/#work [R=301,NC] 


RewriteCond %{HTTP_HOST} ^staging.domain.com [NC] 
RewriteRule ^(.*)$ http://domain.com/blog [R=301,NC] 

如何使多條規則,還是我鏈接他們是錯的

回答

1

變量%{HTTP_HOST}只包含HTTP request header。 URL部分對此變量不可用。因此,規則必須如下更改:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^staging.domain.com$ [NC] 
RewriteRule ^((?!work/?).*)$ http://domain.com/blog/$1 [R=301,NC] 

RewriteCond %{HTTP_HOST} ^staging.domain.com$ [NC] 
RewriteCond %{REQUEST_URI} ^/work/? [NC] 
RewriteRule .* http://domain.com/#work [R=301,NC] 
相關問題