簡體   English   中英

使用.htaccess將帶有參數的URL重定向到帶有參數的URL

[英]Using .htaccess To Redirect URL With Parameters To URL With Paramters

我已經搜尋了一段時間,試圖找出如何重定向以下網址:

http://mysite.org/old-folder/?abc=1144

到新網址:

http://mysite.org/new/folders/?xyz=1144

其中數字1144是動態的。

我已經做到了這一點,但似乎無法正常工作:

RewriteRule ^old-folder/\?abc=([0-9]+)(/)?$ new/folders/\?xyz=$1 [R=301]

經過更多研究后,我得出了以下結論:

RewriteCond %{QUERY_STRING} ^abc=([0-9]+)$
RewriteRule ^old-folder new/folders/?xyz=%1 [L,R=301]

如果將來有人遇到這種情況,它將僅匹配數字“ abc”的值。 如果您希望它匹配任何內容,請用以下內容替換第一行:

RewriteCond %{QUERY_STRING} ^abc=(.*)$

有關標志[L,R = 301]的說明,請參見apache文檔: http : //httpd.apache.org/docs/current/rewrite/flags.html

您無法在RewriteRule匹配查詢字符串。

在您的DOCUMENT_ROOT/.htaccess文件中嘗試以下規則:

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} (?:^|&)abc=([^&]*) [NC]
RewriteRule ^old-folder/$ new/folders/?xyz=%1 [L,NC]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM