我正在尝试将显示如下www.example.com/profile/1
的网址路由到包含参数www.example.com/profile?user=1
的以下页面。我的.htaccess中有以下RewriteRule
,但路由无效。有人能告诉我我做错了吗?
RewriteEngineOn
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/profile/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.+) /profile?user=$1 [L,QSA]
我尝试将最后RewriteRule
切换到不同的网址,但到目前为止还没有运气。我可能正在监督一个小问题,有人可以帮助我。
答案 0 :(得分:1)
您需要允许profile/\w+
作为正则表达式匹配/profile/123
:
Options -MultiViews
RewriteEngineOn
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^profile/(\w+)/?$ /profile?user=$1 [L,QSA,NC]