2011-06-20 52 views
1

我想重寫網址的一部分,因爲我更改了CMS並仍然希望Google找到我的文章。簡單的網址重寫

我:

www.mywebsite.com/vision 
www.mywebsite.com/vision/40/some-article-name 

,並希望將其重命名:

www.mywebsite.com/news 
www.mywebsite.com/news/40/some-article-name 

任何提示,以重新寫入規則或在那裏我可以看看嗎?我想改變我的.htaccess文件中的規則。

回答

0

嘗試:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

或:http://httpd.apache.org/docs/2.2/mod/mod_substitute.html如果你想改變的鏈接在HTML內容返回給瀏覽器。

這裏是我怎麼可能做的重寫,我認爲你是後一個例子...

重寫規則^()/視覺/()$ $ 1 /新聞/ $ 2

這可能是在這種情況下,這可能是更好的改寫範圍的廣泛...

RewriteRule http://www.mywebsite.com/vision/ (.*)$ http://www.mywebsite.com/news/ $1

也是學習正則表達式的基礎知識將是國際海事組織做任何複雜的重寫需要的技能。

希望有所幫助。

2
# Activate Rewrite Engine 
RewriteEngine On 
# redirect /vision to /news 
RewriteRule ^vision$ http://www.mywebsite.com/news [R=301,NC] 
# redirect /vision/bla-bla to /news/bla-bla 
RewriteRule ^vision/(.*)$ http://www.mywebsite.com/news/$1 [R=301,NC,QSA] 

在理論(和實踐)這2條重寫規則可以合併,但隨後如果您有與「遠見」開始(這樣,例如:/visions/hurray)網址,然後這樣的規則可能會重定向錯誤的URL。因此,我通過2條更安全的規則來完成。

+0

我仍然無法得到這個工作。將繼續嘗試,看看我能不能解決爲什麼我的.htaccess文件似乎沒有重新路由。 – Matt

+0

@Matt你能顯示你的'.htaccess'文件的內容嗎?它位於的位置(我猜在根文件夾中)。 – LazyOne