Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 干净和“脏”url_Php_.htaccess_Url_Rewrite - Fatal编程技术网

Php 干净和“脏”url

Php 干净和“脏”url,php,.htaccess,url,rewrite,Php,.htaccess,Url,Rewrite,我对干净的URL进行了htaccess访问,之后由PHP处理,但是对于我的搜索选项,我想要一个类似youtube的“?q=searchquery” RewriteEngine on RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^(.*)/$ index.php?d=$1 [L] 这是我的htaccess,它适用于所有URL,但'http://www.website.com/search/?q

我对干净的URL进行了htaccess访问,之后由PHP处理,但是对于我的搜索选项,我想要一个类似youtube的“?q=searchquery”

RewriteEngine on
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^(.*)/$ index.php?d=$1 [L]
这是我的htaccess,它适用于所有URL,但'http://www.website.com/search/?q=searchquery”“没有。现在我已经尝试过其他的重写,比如这些

RewriteRule ^(.*)/\?(.*)/$ index.php?d=$1&$2

RewriteRule ^(.*)/\?q=(.*)/$ index.php?d=$1&q=$2
他们不工作

我还使用[R]标志查看了整个URI,但问号中的所有内容都没有显示

RewriteRule ^(.*)/$ index.php?d=$1 [L]
使用url:显示:

编辑: 那么我如何做到这两个呢\o/

只需使用QSA查询字符串附加标志:

RewriteRule ^(.*)/$ index.php?d=$1 [L,QSA]
如果使用查询字符串调用URL,则查询字符串将附加到生成的URL


PS:您不能在重写规则中匹配查询字符串。在匹配规则之前,查询字符串将被剥离。

什么是干净URL和脏URL?干净URL:脏URL:有相同的东西吗?在某个地方有问题吗?@Tim:如果这是您要寻找的答案,请单击旁边透明的绿色勾号;我已经试过一百万次了,但它告诉我我必须等待。我一定会一直点击直到成功!谢谢man@Tim当前位置可能有一些时间间隔,您无法在中接受答案。是的,我做了,做了一个帐户,并向您竖起大拇指,尽管这是一个箭头\o/