我想要一个这样的网址:
www.mywebsite.com/user
所以我这样做:
RewriteRule ^([a-zA-Z0-9_/-]+)$ profile.php?user=$1
它正在运作。
但有时我需要一个secound参数,例如:
www.mywebsite.com/user/22 = user?id=22
或者我需要一个像这样的secound参数:
www.mywebsite.com/user/images = user?pg=images
请注意,我可以为不同的操作设置用户/ ID或用户/ pg。
任何想法我该怎么做?
答案 0 :(得分: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]
答案 1 :(得分:1)
这很容易:
RewriteRule ^user/([0-9]+)$ index.php?user=$1
RewriteRule ^user/([a-zA-Z0-9_/-]+)$ index.php?pg=$1