我在.htaccess
中有这条规则:
RewriteRule ^([^/]*)$ /user.php?username=$1 [L]
输出:
http://domain.tld/username
期望的输出:
http://domain.tld/user/username
我该怎么做?
答案 0 :(得分:2)
以下是如何将带有查询字符串的URL更改为路径:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/user.php [NC]
RewriteCond %{QUERY_STRING} ^.*username=([a-zA-Z]+).*$ [NC]
RewriteRule ^(.*)$ /user/%1? [L]
输入
http://domain.tld/user.php?username=bob
输出
http://domain.tld/user/bob
以下是另一种方式:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/user/ [NC]
RewriteRule ^user/(.+)$ /user.php?username=$1 [L]
输入
http://domain.tld/user/bob
输出
http://domain.tld/user.php?username=bob
您可以在此处测试.htaccess
规则:http://htaccess.madewithlove.be/
答案 1 :(得分:0)
您可以在DOCUMENT_ROOT/.htaccess
文件中使用此代码:
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^user/([^/]+)/?$ user.php?username=$1 [L,NC,QSA]