繁体   English   中英

使用 htaccess 和重定向从 url 中删除特定部分

[英]remove a specific part from url with htaccess and redirect

我在我的 WordPress 网站上使用 translatepress,所以我的网站 URL 类似于example.com/en-ae/hair-transplant但现在我删除了 translatepress,所以现在我的 URL 类似于example.com/hair-transplant但我已经提交了使用en-ae slug 进行 SEO。 我希望如果en-ae存在于任何 URL 中,那么它会自动删除并重定向到没有en-ae的页面。

例如example.com/en-ae/hair-transplant重定向到example.com/hair-transplant

您需要 Apache 的重写模块: mod_rewrite

然后在您的 htaccess 中:

RewriteEngine on 
RewriteRule ^en-ae/(.*)$ $1

要从所有请求的 URL中删除/en-ae前缀(以帮助保留 SEO),您需要在.htaccess根文件的顶部附近添加以下内容,WordPress 代码块之前(即# BEGIN WordPress注释之前) ):

# Remove "/en-ae/" prefix from all requests
RewriteRule ^en-ae/(.*) /$1 [R=301,L]

您无需重复RewriteEngine指令,该指令已在文件的后面部分出现(在 WordPress 代码块中)。

R=301标志触发外部“永久”重定向 - 没有它,URL 前缀实际上不会被删除。 但是,您应该首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。

如果 WordPress 代码块中省略了RewriteBase指令,则替换字符串上的斜杠前缀是避免格式错误的重定向所必需的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM