这是我现在的 .htaccess 文件。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [NC,L,QSA]
这是有效的,因为它使我的页面在不使用 .php 扩展名时也可以访问。
Old = domain.com/test.php
New = domain.com/test
糟糕的是,当我使用以下链接发送获取数据时,数据未被传递。我认为 QSA 选项可以做到这一点,这是怎么回事?
domain.com/test?id=1
最佳答案
匹配整个查询字符串并使用反向引用将其附加到您的新 URL 应该可行。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ $1.php?%1 [NC,L,QSA]
关于php - htaccess 删除 .php 并保留查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507132/