我有xxxx的URL,格式如下:
http://www.example.com/sub/worda-wordb-wordc-123456789
但是,我的网站有外部链接,其网址格式如下:
http://www.example.com/sub/worda-wordb-wordc/123456789
我想从
重定向所有网址 http://www.example.com/sub/worda-wordb-wordc/123456789
到
http://www.example.com/sub/worda-wordb-wordc-123456789
答案 0 :(得分:2)
请尝试以下方法:
RewriteEngine On
# Redirect URI with last slash, replacing with hyphen
RewriteRule ^sub/([\w-]+)/(\d+)/?$ /sub/$1-$2 [R=302,L]
在这里,我们正在检查包含([\w-]+)
的字母,数字,下划线和连字符,带有(\d+)
的数字以及带有/?
的可选斜杠,只是为了确定,然后重新定向它。
请务必将此作为首要规则之一,然后将302
更改为301
,以使浏览器和搜索引擎缓存重定向。
答案 1 :(得分:1)
您可以使用此.htaccess
文件:
RewriteBase /
RewriteRule ^sub/(.*)/([0-9]+)$ /sub/$1-$2
现在,如果您转到http://www.example.com/sub/worda-wordb-wordc/123456789
,该网址将被重写为http://www.example.com/sub/worda-wordb-wordc-123456789
。
如果这不是您想要的,请在您的问题中添加更多详细信息。
答案 2 :(得分:0)
您可以在站点根目录中使用此规则.htaccess:
RedirectMatch 301 ^(sub)/(.*)-(\d+)/?$ /$1/$2/$3