我想傳遞url參數,但參數沒有傳遞到所需的頁面。.htaccess重寫參數沒有傳遞到目標頁面
早些時候我的網站託管在cpanel和下面的代碼工作成功,但在我將站點移動到VPS服務器與Cent OS Webpanel與服務器上運行的Varnish緩存和Apache後,參數不會傳遞到目標網頁/網址。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^download/(.*).html download.php?q=$1 [L,QSA]
我想運行的網址:重寫後www.example.com/download/anything.html
和目標URL是www.example.com/download.php?q=anything
的問題是,重寫規則是工作,但參數未通過。
但是,如果我使用下面的代碼參數傳遞成功。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z_0-9-]+)$ download.php?q=$1 [L,QSA]
或下面的代碼
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) download.php?q=$1 [L,QSA]
和我正在下面的網址,這些參數傳遞到目標頁面成功
www.example.com/anything
目標網址:www.example.com/download.php?q=anything
但我需要以下格式的網址www.example.com/download/*****.html
用實際查詢替換*星號。
如果我向重寫url添加一些靜態文本,如download/
(。*).html
,則參數不會傳遞到目標頁面。
感謝
感謝您的回答,這適用於我:) – AmarBunty
不客氣,很高興它的工作。 – anubhava