簡體   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