htaccess - 需要rewriterule帮助

时间:2015-04-25 14:39:19

标签: .htaccess mod-rewrite url-rewriting

我的重写规则有问题。我有一些带有如下变量的网址:localhost/mysite/user.php?u=username。我想将它们转换为:localhost/mysite/user/username/

这就是我尝试过的

RewriteRule  ^user/([A-Za-z0-9-]+)/?$    /mysite/user.php?u=$1    [NC,L]    
# Handle user page requests

但它不起作用:(

/mysite/user.php在htdocs文件夹中(因为我在本地环境中)

如果以某种方式打开localhost/user.php?u=username这样的网址,它应该重定向或更改为localhost/user/username/,这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以在/mysite/.htaccess文件中使用此代码:

Options -MultiViews
RewriteEngine On
RewriteBase /mysite/

RewriteCond %{THE_REQUEST} /user\.php\?u=([^\s&]+) [NC]
RewriteRule ^ user/%1/? [R=302,L,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301]

RewriteRule ^user/([^/.]+)/$ user.php?u=$1 [L,QSA,NC]