簡體   English   中英

htaccess 301使用動態頁面重定向?

[英]htaccess 301 redirect with a dynamic page?

在htaccess中,您如何301重定向動態頁面?

例如,如果我想要使/get.php?i=1234重定向到/i/1234等的規則怎么辦?

您可以像下面的代碼一樣使用mod_rewrite進行重定向:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^(i)=([^&]+)(&|$) [NC]
RewriteRule ^get\.php$ %1/%2? [L,R=301,NC]

使用正則表達式嘗試RedirectMatch指令 它取決於mod_alias,因此可能始終處於啟用狀態。 您也可以使用mod_rewrite,但這可能會過大。 替換內容可能包含$ n形式的引用:

RedirectMatch 301 ^/get\.php\?i=([0-9]+)$ /i/$1

可以想象, $1對括號#1中匹配的內容的引用 您可以有許多參考資料:

RedirectMatch 301 ^/get\.php\?i=([0-9]+)&y=([0-9]+)$ /i/$1/$2/

您可以使用在線正則表達式測試儀來詳細說明您的apache配置:如果我在“ Regexp”中放入^/get\\.php\\?i=([0-9]+)&y=([0-9]+)$輸入,然后在“主題字符串”輸入中/get.php?i=12&y=24 ,然后單擊“顯示匹配項”,它顯示:

Match at position 0:
/get.php?i=12&y=24
12  # first reference available
24  # second reference available

如果您的正則表達式在測試儀中不起作用,則它們不太可能在apache配置中工作。 您應該首先在測試儀中嘗試它們。

暫無
暫無

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

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