首页  >  问答  >  正文

htaccess url 重写而不丢失 url 参数

我创建了一个 htaccess 网址重写,将我的网址 webseite.com/dashboard.php 更改为 webseite.com/dashboard。

我的问题是,当我访问我网站的某些网站(例如 https://example.com/detail_user.php?id=1)时,我通过网址提供参数(用于数据库数据)。

根据我的重写规则,它会忽略添加到网址的参数。

是否有任何 htaccess 规则可以为 url 提供参数,但在访问正常站点时删除 .php 结尾?

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

P粉982881583P粉982881583257 天前474

全部回复(1)我来回复

  • P粉724737511

    P粉7247375112024-01-11 10:12:21

    我认为您正在寻找的是附加[QSA]。

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

    QSA 的意思是“查询字符串附加”,如果原始 URL 中传递了查询字符串,它将被附加到重写中。

    在您的用例中,/detail_user.php?id=1 变为 /detail_user?id=1

    回复
    0
  • 取消回复