我剛剛重做我的網站,並試圖進行一些重寫以將URL更改爲新結構。我是那裏的大多數人,這要感謝一對人的支持,但我知道他們不應該處理這些問題,所以我希望我能在這裏得到最後一塊難題。使用重寫強制瀏覽器刷新而不進一步更改URL?
我想做四件事情。
- 將空格轉換爲下劃線。
- 通過將「(2003)」改爲「 - 2003」來消除括號。
- 更改html調用的結構。
- 強制重定向,以便搜索引擎獲得新地址。
眼下,這就是我:
RewriteEngine On
Rewritecond %{HTTP_HOST} ^(desktopscenes.com|www.desktopscenes.com)$ [nc]
RewriteRule ^(.*)\s(.*)$ $1_$2 [N]
RewriteRule ^(.*)\((.*)$ $1-_$2
RewriteRule ^(.*)\)(.*)$ $1$2
RewriteRule ^(.*)slides/(.*)\.html$ /$1index.htm#$2.jpg [NE,R=301]
一切正常,除了鏈接JPG文件,其中重定向正確內部,但我不能找到一種方法,使顯示正確地址欄上的新地址。
例如,這個老網址:
http://www.desktopscenes.com/Scenes from Big Sky Country (2003)/slides/First Montana Sunset.jpg
正確顯示圖像在:
http://www.desktopscenes.com/Scenes_from_Big_Sky_Country_-_2003/slides/First_Montana_Sunset.jpg
但瀏覽器欄不顯示新的地址,我相信也意味着搜索引擎沒有被通知新的地址。
我試着用「R = 301」重定向到同一個地址,但是失敗了,可能是因爲循環。我不確定還有什麼可以嘗試的,有什麼想法?
你有什麼其他的規則?當你使用'R = 301'時導致循環的那些? –
你是什麼意思,「失敗,可能是因爲循環」? –
我試過的另一個規則是: 「RewriteRule ^(。*)slides /(。*)\。jpg $ /$1slides/$2.jpg [R = 301,L]」 但是,啓用它,說該網站重新定向的方式不會完成。 感謝您的回覆(不知道爲什麼格式不適用於回覆?) –