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是实际名称,可以进行硬编码。我究竟做错了什么?谢谢!

回答:

请尝试以下操作:

  • 如果未出现在.htaccessRewriteRule之前添加下面两行:

    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

回到顶部