htaccess正则表达式301重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了htaccess正则表达式301重定向相关的知识,希望对你有一定的参考价值。

我很难获得永久重定向工作。我希望这会发生,使用正则表达式。

旧网址:https://example.com/olddir/other_name_here/123456/garbage.jpg

新网址: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之前添加以下2行: 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重定向的主要内容,如果未能解决你的问题,请参考以下文章

高分求301重定向的htaccess规则写法

301 重定向正则表达式模式

url变量的htaccess 301重定向问题

使用正则表达式将 301 重定向到具有不同编号的新 url

wordpress 和 htaccess 301 重定向没有管理员

.htaccess 301 重定向文件夹和子文件夹