2013-05-31 33 views
0

我使用Joomla 3.1重新設計了Joomla 1.5網站,並且必須重定向很多網址,這是由於新的菜單結構。.htaccess Joomla 3沒有重定向301非sef

我已創建301重定向在我的.htaccess文件,但它只是重定向的URL海基會 - 怎麼來的或我在做什麼錯?

它重定向:

Redirect 301 /about-us/sailing-team/16-company.html http://www.endeavoursailing.co.uk/about-us/sailing-team.html 

它確實不定向:

Redirect 301 /?format=html&tmpl=component&phocadownload=1&catid=0&id=41 http://www.endeavoursailing.co.uk/impressions/photo-gallery.html 

感謝您的幫助

+0

的。預測是在做被調用的URL,而不是您的內部URL(除非您調用它),在網絡上搜索重定向規則,有大量教程和文檔可用於解決您的問題。 – Matteo

+0

感謝但Google網站管理員工具向我顯示了這些網址的名稱,或者我誤解了您的錯誤。另一個例子是:/?start = 4,如果我把htis放在我的htaccess中:Redirect 301 /?start = 4 http://www.mydomain.co.uk/它不重定向它只重定向SEF URL但不非sef ...如果你可以給我提示什麼,我必須尋找它會很好 - 因爲我一直在尋找谷歌的最後幾天,但不知道該找什麼,爲什麼它不工作 – user2439629

回答

2

最常見的親帶重定向GET請求的瑕疵是參數的順序與請求本身無關,但它對重定向比較無關緊要。因此,爲Joomla!,參數

format=html&tmpl=component 

tmpl=component&format=html 

是等價的,但對於的.htaccess重定向,它們是不同的。

另一件事是,您的網址包含catid=0 - 但最有可能沒有這樣的類別,因爲ID是積極整數。

+0

謝謝,但我不明白你的意思 - 爲什麼我只能重定向sef鏈接,但不是非sef 是的,沒有這樣的類別,舊的url不存在了,所以我想重定向到一個類似的網頁上的新網站 - 但與谷歌找到的所有非sef網址相同的事件我不能重定向他們的另一個例子是:重定向301 /?start = 4 http://www.mydomain.co.uk它不重定向,只是去ttp:// www .mydomain.co.uk /?start = 4 – user2439629

+0

添加了一個示例 – nibra

0

隨着mod_rewrite的啓用對加入 「電導率,治」 到您的.htaccess文件如:

RewriteCond %{QUERY_STRING} ^option=com_content\&view=category\&layout=blog\&id=10\&Itemid=4$ 
RewriteRule index.php /pageOne? [R=301,L] 

RewriteCond %{QUERY_STRING} ^_query_string_$ 
RewriteRule index.php /pageTwo? [R=301,L] 

第一個例子將重定向: /index.php?option=com_content &視圖=類別&佈局=博客& ...
至:/ pageOne
「?」在「/ pageOne?」中刪除查詢參數。

必須轉義字符是: 「\ + * [^] $(){} = <> |:?! - 」
閱讀更多:php escape special chars in regex