[英]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.