我的网站根目录中有一个文件user.php
。要访问用户的页面,您需要访问/user/foo-bar
,其中foo-bar
是用户名。
我的目标是:
mysite.com/user
重定向到index.php
mysite.com/user/foo-bar
重写为/user?name=foo-bar
。这是我尝试过的:
Options +MultiViews
RewriteEngine On
RedirectMatch ^user/?$ /
RewriteRule ^user/(.+)$ user?name=$1
但mysite.com/user
不会重定向,mysite.com/user/foo-bar
之类的网页也不会有查询字符串数据。
答案 0 :(得分:1)
关闭MultiViews
,不要将RedirectMatch
与mod_rewrite
规则混合,并将代码设为:
Options -MultiViews
RewriteEngine On
RewriteRule ^user/?$ / [L,NC,R=301]
RewriteRule ^user/(.+)$ user.php?name=$1 [L,QSA,NC]