如何使用一个,两个或三个变量创建干净的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 pass two variables or one depending if both are available?找到的部分):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^([^/]+)(/([^/]+))? index.php?page=$1&var1=$3 [L,QSA]
它适用于带有一个或两个变量的链接。如何使其适用于三个(或更多)变量。
答案 0 :(得分: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]