2012-03-23 41 views
0

我需要將網址的一個網段重定向到其新版本。301重定向向網址添加不正確的額外網段

我的目標是重定向

www.domain.co.uk/farm/whatever/

www.domain.co.uk/farm_cottages/whatever/

我使用的規則是:

RedirectMatch 301^/農場//farm_cottages/

但是由於某種原因,部分作品,但追加?/農場/ farm_cottages後/在最後的網址即。

www.domain.co.uk/farm_cottages/?/farm/whatever/

這是我整個重寫規則設置爲我相信的重寫規則一個可以與重定向規則被幹擾。

#redirect /farm/ to /farm_cottages/ 
RedirectMatch 301 ^/farm/ /farm_cottages/ 

<IfModule mod_rewrite.c> 
RewriteEngine on 

# no WWW to WWW 
RewriteCond %{HTTP_HOST} !^www.domain.co.uk$ [NC] 
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,L] 

# Force trailing slash on URLs 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(.*)/$ 
RewriteRule ^(.*)$ http://www.domain.co.uk/$1/ [L,R=301] 

#Remove index.php 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC] 
RewriteRule ^index\.php(.+) $1 [R=301,L] 

</IfModule> 

該網站建於Expressionengine和網址,以便段並不代表實際的文件夾 - 我不認爲這應該不過沒關係。

任何想法將不勝感激!由於

回答

1

好吧,我在與最終解決了這個以下 - 我希望它可以幫助別人的未來:

RewriteRule ^farm/(.*)$ /farm_cottages/$1 [QSA,R=301,L]