0

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

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

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

注意,第一个 URL 只有一个参数,它重定向到 user.php,第二个 URL 有两个参数,而是重定向到 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>
4

1 回答 1

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]
于 2013-08-21T09:16:25.477 回答