0

如何使用一个、两个或三个变量制作干净的 URL?

我希望 domain.com/mypage 指向 index.php?page=mypage 和 domain.com/mypage/myproduct 重定向到 index.php?page=mypage&var2=myproduct 和 domain.com/mypage/myproduct/detail 重定向到index.php?page=mypage&var2=myproduct&var3=detail. 所以有些页面有三个变量,有些页面只有一两个。

这是我正在使用的 .htaccess (它包括我在htaccess rewrite 找到的一部分,传递两个变量或一个取决于两者是否可用?):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s 
RewriteRule ^([^/]+)(/([^/]+))? index.php?page=$1&var1=$3 [L,QSA]

它适用于具有一两个变量的链接。我怎样才能使它适用于三个(或更多)变量。

4

1 回答 1

0

单独做每一个可能是最简单的:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /index.php?page=$1&var1=$2&var2=$3 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?page=$1&var1=$2 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]
于 2012-08-21T05:05:27.700 回答