簡體   English   中英

.htaccess帶有查詢字符串的永久重定向

[英].htaccess permanent redirect with query string

我想要一個永久重定向,凡是訪問舊網址的人都會自動發送到新網址:

從: https : //example.io/users?username= value到: https : //example.io/value

新的URL已經可以使用,但是我只需要重定向。 我已經有了以下代碼:

RewriteBase /
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule  ^(.*)$ users.php?username=$1 [QSA,L]

我說這應該大致是您的問題要求的內容:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^username=(.+)$
RewriteRule ^/?users\.php/?$ /%1 [R=301]

這些行應在http服務器主機配置或動態配置文件(“ .htaccess”)中同樣起作用。

它將所有傳入的請求重定向到舊的URL“ /users.php?username=value 。我看不到您發布的代碼在這里有什么幫助,這就是為什么我從頭開始編寫上述規則而不是修改您的規則的原因。

還有一個一般性說明:您應該始終喜歡將此類規則放在http服務器主機配置中,而不要使用動態配置文件(“ .htaccess”)。 這些動態配置文件增加了復雜性,通常是導致意外行為,難以調試的原因,並且確實降低了http服務器的速度。 僅當您無法訪問真正的http服務器主機配置(閱讀:真正便宜的服務提供商)或堅持編寫自己的規則的應用程序(這顯然是安全的噩夢)時,才提供它們作為最后的選擇。

暫無
暫無

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

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