2013-07-19 84 views
0

好了,所以我想實現301重定向在我的網站。這裏是我的代碼至今重定向的URL相同的URL與不同性格

RedirectMatch 301 ^/games/(.*)/(.*)$ http://mysite.com/apps/$1/$2 

的問題是,在第二個參數舊網站使用下劃線(前brain_puzzle),我試圖將其重定向到「大腦謎題」。因此,例如:

http://mysite.com/games/brain_puzzle/4-pics-1-word/

會重定向到

http://mysite.com/apps/brain-puzzle/4-pics-1-word/

任何想法如何,我可以做到這一點?

回答

0

如果它只是特定情況下,可以做this answer類似:

RedirectMatch 301 ^/games/brain_puzzle/(.*)$ http://mysite.com/apps/brain-puzzle/$2 

如果它是更普遍的(不同的字符串比brain_puzzle)的this answer一些變化可以幫助你。

+0

是的,不幸的是,在那個桶中可能還有其他值..一些單一的世界,一些雙字破折號 – tytyguy

+0

@tytyguy你有沒有讀過[這個答案](http://stackoverflow.com/a/6068347/ 641451)?我認爲這就是你需要的。 – mgarciaisaia

0

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^(games)/([^_]+)_(.*)$ /$1/$2-$3 [L,NC] 

RewriteRule ^games/([^/_]+)/([^/_]*)/?$ /apps/$1/$2 [L,NC,R=301] 

該代碼將遞歸替換所有做301重定向之前連字符下劃線。