.htaccess url重写没有碰撞

时间:2014-04-27 06:55:57

标签: .htaccess mod-rewrite

我的htaccess

中有以下代码
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?username=$1

上面的代码工作正常,http://domain.com/username代替http://domain.com/profile.php?username=username

我需要一个类似的但是像这样的假字符串

http://domain.com/gallery/username

该文件位于http://domain.com/gallery.php

如何在不与配置文件代码冲突的情况下实现此目的?

1 个答案:

答案 0 :(得分:1)

几乎相同:

RewriteRule ^gallery/([a-zA-Z0-9_-]+)/?$ gallery.php?username=$1

如果您还允许使用其他非ascii昵称,则应将([a-zA-Z0-9_-]+)替换为([^\/]+)

正如提示一样,如果在斜杠之后添加一个使斜杠可选的问号,则可以删除第一条规则。