现在是我的.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
答案 0 :(得分:5)
匹配整个查询字符串并使用反向引用将其附加到新网址应该有效。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)$ $1.php?%1 [NC,L,QSA]
答案 1 :(得分:0)
如果您要传递id
,则必须使用此代码
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^test/(.*)$ /test.php?id=$1
现在您可以访问
domain.com/test?id=1
这
domain.com/test/1
答案 2 :(得分:0)
这是一个更简单的解决方案。我们在团队项目中使用它。它不仅可以在根目录中使用,还可以在您网站的任何目录中使用。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php