根据参数数决定页面 - htaccess url rewrite

时间:2013-07-23 15:17:47

标签: .htaccess mod-rewrite url-rewriting

我在htaccess上写了RewriteRule,它根据参数的数量决定它重定向到哪个页面。

例如,“http://mysite.com/tommy” 这将重定向到“mysite.com/user.php?user=tommy”

然而,“http://mysite.com/tommy/pets” 将重定向到“mysite.com/show.php?user=tommy&category=pets”

请注意,第一个网址只有一个参数,重定向到user.php,第二个网址有两个参数,然后重定向到show.php。

请帮助,并提前感谢!

目前...

<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^([^/]*)/?(.*)$ category.php?userId=$1&category=$2 [QSA,L] 
RewriteRule ^(.*)$ user.php?userId=$1 [QSA,L] 
</IfModule>

1 个答案:

答案 0 :(得分:0)

完成,对于其他需要这个的人来说......

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?userId=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/$ user.php?userId=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ category.php?userId=$1&category=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ category.php?userId=$1&category=$2 [L]