1

我有很多的URL的這樣如何在一堆文件重定向與htaccess的

www.example.com/this_has_some_meaning.php 

現在我才知道,搜索引擎優化的原因,最好是使用網站

www.example.com/this-has-some-meaning.php 

燦我使用htaccess,使用某種正則表達式將所有網址從舊的重定向到新的?

回答

0

你可以在你的.htaccess使用這2個規則:

RewriteEngine On 

# when there is only one underscore then redirect 
RewriteRule ^([^_]*)_+([^_]*)$ /$1-$2 [L,R=301,NE] 

# otherwise replace each _ by - recursively 
RewriteRule ^([^_]*)_+(.*)$ $1-$2 [N,DPI] 
+0

@Paulcraey:這是否工作? – anubhava

+0

謝謝,但爲什麼這兩種解決方案中的標誌不同? – Paulcraey

+0

兩者有不同的目的。只剩下一個下劃線時使用'R'標誌或重定向。 – anubhava

0

使用給定的代碼

<IfModule mod_rewrite.c> 
RewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR] 
RewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing) 
RewriteRule ^.*$ index.php [L] 
</IfModule> 

在給定的代碼開發目標相隔5點 「|」

+0

我不明白?它是否將機器人發送到索引頁?爲什麼? – Paulcraey