2016-02-29 92 views
0

我想这样的URL:htaccess的一个或两个参数

www.mywebsite.com/user

所以我做的:

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

这是工作。

,但有时我需要一个谢胜利参数,如:

www.mywebsite.com/user/22 = user?id=22 

或我需要这样一个谢胜利参数:

www.mywebsite.com/user/images = user?pg=images 

通知我可以有一个用户/ ID或用户/ pg用于不同的操作。

任何想法我该怎么做?

回答

1

这很容易:

RewriteRule ^user/([0-9]+)$ index.php?user=$1 
RewriteRule ^user/([a-zA-Z0-9_/-]+)$ index.php?pg=$1 
2

你可以有3个规则是这样的:

Options -MultiViews 
RewriteEngine On 

# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

# to handle /user/22 
RewriteRule ^user/(\d+)/?$ user.php?id=$1 [NC,L,QSA] 

# to handle /user/images 
RewriteRule ^user/(\w+)/?$ user.php?pg=$1 [NC,L,QSA] 

# existing rule 
RewriteRule ^([\w-]+)/?$ profile.php?user=$1 [L,QSA]