.htaccess 301重定向

fdbelqdn  于 2023-04-12  发布在  其他
关注(0)|答案(2)|浏览(138)

我很难获得一个永久重定向到工作。我希望这能发生,使用正则表达式。
旧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是实际的名字,可以硬编码。我做错了什么?谢谢!

bihw5rsg

bihw5rsg1#

尝试以下操作:

  • 如果您的.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

mctunoxg

mctunoxg2#

这可以使用以下规则来完成:

RewriteEngine On
RewriteRule ^olddir/other_name_here/(\d+)/.+$ newdir/other-name-here-$1/ [R=301,L]

相关问题