2010-03-23 31 views
1

我使用Joomla 1.5.14和我配置SEO如下圖中的Joomla - SEO設置和mod_rewrite的

alt text http://i40.tinypic.com/r85pcp.png

現在我需要一些舊的URL映射到新的站點

讓我們說,我需要HTP映射://mysite/old.html到新的Joomla頁面

http://mysite/index.php?option=com_content&view=article&id=32&Itemid=70

我在.htaccess文件中加入以下

RewriteRule ^old\.html$ index.php?option=com_content&view=article&id=32&Itemid=70 #works!! 

這工作正常,但如果我使用.htaccess中的SEF URL(假設上面的頁面可以HTP達到:// mysite的/ contacts.html),我得到一個404錯誤

RewriteRule ^old\.html$ contacts.html #this does not work 

現在的問題是:

是否有可能使用SEF網址重寫規則?我錯在哪裏?

預先感謝您

斯特凡諾

+0

記住,StackOverflow的是發展問題,爲服務器配置遵循http://serverfault.com/ – balexandre 2010-03-23 14:41:49

+0

好吧(順便說一句:我看到了很多關於mod_rewrite的問題,但無法找到我的問題的解決方案) – Stefano 2010-03-23 14:49:34

+0

這是很好的國際海事組織,它仍然是排序的編程。 – DisgruntledGoat 2010-03-23 15:11:22

回答

3

我認爲這個問題是因爲Apache重寫old.html以實際上並不存在的頁面,但在不同的規則重寫。

如果您真的想要「重寫」 - 換句話說,在瀏覽器中將頁面保留爲old.html - 那麼您無需執行任何操作。

然而,爲了避免重複的內容,它可能不如做301重定向:

Redirect 301 old.html http://yoursite.com/contact.html 

(您可以在old.html前需要斜槓)

+0

謝謝! 我認爲你對Apache重寫old.html到一個不存在的頁面是正確的(即使mod_rewrite應該在「joomla」之前運行)。 重定向的作品,即使它增加了往返,我不知道它是否有任何SEO計數器指示 – Stefano 2010-03-23 15:42:04

+1

對於搜索引擎優化,據我所知,通常更好,因爲你給每個Google等一個URL一段內容,並告訴它爲'old.html'計算鏈接,就像它們是'contact.html'的鏈接一樣 – DisgruntledGoat 2010-03-23 17:22:51