2016-02-29 50 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]