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

Php 如何在htaccess中使用get变量(不同顺序),php,.htaccess,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_FILEN

我正在学习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]
指定[QSA](查询字符串附加),以便可以在url后传递查询字符串

示例代码

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

您不能使用“一网打尽”
RewriteRule^(+)$index.php吗?url=$1
,然后在
/
上分解
$\u GET['url']
来检索一个或多个变量吗?它将允许您灵活地设置
controller/action/param1/param2/…等
或在您的情况下设置
x
,或
x
y
。。。尽可能多的参数。也许:-)谢谢,我会试试。那么,如何为不同的.php文件显示不同的页面呢。x应该显示php1.php、y php2.php等等。重定向正在工作,但显示所有参数的index.php。您的应用程序在每一个页面的新请求中都将始终循环通过
index.php
,因此,根据查询字符串变量
url
中设置的内容,您可以在这里“路由”到正确的页面。例如,如果您使用:
mysite.com/contact
mysite.com/home
,您的“路由器”(
index.php
)将运行,并且
需要
包含
正确的页面,即分别是
contact.php
home.php