• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

htaccess正则表达式301重定向

regex 来源:Glowball 6次浏览

我很难得到永久重定向工作。我希望使用正则表达式来实现这一点。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


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)