.htaccess htaccess url重写而不丢失url参数

hfsqlsce  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(225)

我已经创建了一个htaccess网址重写,以获得我的网址webseite.com/dashboard.php到webseite.com/dashboard。
我的问题是,当我访问我的网站的某些网站,如https://example.com/detail_user.php?id=1,我给参数(数据库数据)超过我的网址。
使用我的重写规则,它忽略了添加到url的参数。
有没有htaccess规则可以给予参数,但是在访问普通站点时,要去掉.php结尾?

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)/$ $1.php
wlzqhblo

wlzqhblo1#

我认为您需要的是附加[QSA]。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^/]+)/$ $1.php [QSA]

QSA的意思是“查询字符串附加”,如果有一个查询字符串与原始URL一起传递,它将被附加到重写。
在您的用例中,/detail_user.php?id=1变为/detail_user?id=1

bmp9r5qi

bmp9r5qi2#

重写条件%{REQUEST_FILENAME}!-d时的重写引擎重写条件%{REQUEST_FILENAME}.php -f重写规则(.)/(.)?$$1.php?$2

相关问题