2013-07-19 98 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重定向之前连字符下划线。