.htaccess重写,删除url的内部部分

时间:2014-08-15 13:11:51

标签: .htaccess mod-rewrite url-rewriting

我知道有很多关于这个主题的问题,我尝试了很多答案,现在我找到了工作,但缺乏灵活性

我有一个像

这样的文件夹结构

简档/用户/用户名

现在我希望将网址缩短为

/用户名

我得到的工作版本就是这个:

RewriteCond %{REQUEST_URI} !^/profile/user/specialuser [NC]
RewriteRule ^specialuser/(.*)$ /profile/user/specialuser/$1 [L]

所以正好使用这个url,/ profile / user / specialuser转换为/ specialuser,但是我如何保持灵活性,[specialuser]是所有即将到来的用户名的占位符?

1 个答案:

答案 0 :(得分:0)

答案已经存在。您使用另一个捕获组,以及由该捕获组替换的重写字符串中的另一个占位符。这种情况对我来说似乎没用,所以我把它删除了。

RewriteRule ^([^/]+)/(.*)$ /profile/user/$1/$2 [L]

[^/]匹配不是/字符的字符。这是为了确保它只匹配网址的第一部分。