0

好的,所以我正在尝试在我的网站上实现 301 重定向。这是我到目前为止的代码

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

问题是旧网站上的第二个参数使用下划线(例如brain_puzzle),我试图将其重定向到“brain-puzzle”。例如:

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

将重定向到

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

知道我该怎么做吗?

4

2 回答 2

0

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.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 重定向之前递归地用连字符替换所有下划线。

于 2013-07-19T06:11:00.430 回答
0

如果只是关于那个特定情况,你可以在这个答案中做类似的事情:

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

如果它更通用(与 不同的字符串brain_puzzle),这个答案的一些变化可以帮助你。

于 2013-07-19T04:15:33.197 回答