如何在htaccess中使用get变量(不同顺序)

时间:2019-10-15 07:35:53

标签: php .htaccess

我正在学习PHP和HTACCESS atm。

我在使用4个不同的GET变量时遇到问题。 x,y,z,w。

我需要创建一个都可以的URL结构。

mysite.com/x/y

而且

mysite.com/x/z

和其他不同的组合。

我已经在HTACCESS中尝试过此方法,但只有在其结构相同的情况下,它才能工作,而不能与其他组合一起使用:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?x=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?x=$1&y=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?x=$1&y=$2&z=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.php?x=$1&y=$2&z=$3&w=$4 [L]

1 个答案:

答案 0 :(得分:0)

指定[QSA](附加查询字符串),以便您可以在网址后传递查询字符串。

示例代码

RewriteEngine On
RewriteRule ^book/([^/]*)\.html$ book.php?title=$1 [QSA,L]