htaccess正则表达式301重定向
我很难得到永久重定向工作。我希望使用正则表达式来实现这一点。htaccess正则表达式301重定向
旧的URL:https://example.com/olddir/other_name_here/123456/garbage.jpg
新的URL:https://example.com/newdir/other-name-here-123456/
注意从下划线的变化,以破折号和我的数字串后扔额外位了一个事实。我试过这个,但它不工作(页面不存在,仍然404):
RewriteRule ^/olddir/other_name_here /([0-9] {6})/.+/newdir/other-name-here- $ 1/[R = 301,L]
我在“other_name_here”目录位置有几百个名称,所以如果我可以动态地将下划线改为连字符,那会很好但不是必要的。 olddir和newdir是实际名称,可以进行硬编码。我究竟做错了什么?谢谢!
回答:
请尝试以下操作:
如果未出现在
.htaccess
您RewriteRule
之前添加下面两行:Options +FollowSymLinks
RewriteEngine On
通过添加
$
改变你的正则表达式通过以下方式:RewriteRule ^/olddir/other_name_here/([0-9]{6})/.+$ /newdir/other-name-here-$1/ [R=301,L]
尝试直接访问新的URL页面并确认它们可以访问。
最后,我建议这个网站有关.htaccess
详细配置信息:https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules
以上是 htaccess正则表达式301重定向 的全部内容, 来源链接: utcz.com/qa/260536.html