Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 htaccess重写问题_Php_.htaccess - Fatal编程技术网

Php htaccess重写问题

Php htaccess重写问题,php,.htaccess,Php,.htaccess,我是stackoverflow.com和.htaccess的新手 我只想问一件事: RewriteCond %{QUERY_STRING} ^event_id=156$ RewriteRule ^test1.php?$ /htaccess_test/test.php RewriteCond %{QUERY_STRING} ^event_id=154$ RewriteRule ^test1.php?$ /htaccess_test/test2.php 我只想合并这两个重写规则,因为我有很多这样

我是stackoverflow.com和.htaccess的新手

我只想问一件事:

RewriteCond %{QUERY_STRING} ^event_id=156$
RewriteRule ^test1.php?$ /htaccess_test/test.php

RewriteCond %{QUERY_STRING} ^event_id=154$
RewriteRule ^test1.php?$ /htaccess_test/test2.php
我只想合并这两个重写规则,因为我有很多这样的规则。因此,我只想总结一下这些内容,而不是每次为新的事件id再写两行


您能告诉我如何编写这个东西吗?

正如我看到的,由于不同的事件id,您希望将test1.php重定向到test.php或test2.php。 我不认为你可以合并这两条规则,因为由于不同的条件,目的地是不同的。但是您可以将不同的事件id合并到相同的条件,比如您希望事件id 156 157 158重定向到test.php,希望152 153 154重定向到test2.php,您可以这样编写:

RewriteCond %{QUERY_STRING} ^event_id=156$
RewriteCond %{QUERY_STRING} ^event_id=157$
RewriteCond %{QUERY_STRING} ^event_id=158$
RewriteRule ^test1.php?$ /htaccess_test/test.php

RewriteCond %{QUERY_STRING} ^event_id=152$
RewriteCond %{QUERY_STRING} ^event_id=153$
RewriteCond %{QUERY_STRING} ^event_id=154$
RewriteRule ^test1.php?$ /htaccess_test/test2.php

希望这对您有所帮助。

在.htaccess文件中尝试以下组合代码:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} ^event_id=(156|154)$ [NC]
RewriteRule ^test1\.php/?$ /htaccess_test/test.php [NC,L]

同意,两个目的地表示两个重写条件/规则块。但是你不能把它进一步简化为类似于
RewriteCond%{QUERY_STRING}^event_id=(156 | 157 | 158)$
?如果列表太长,那么你的方式可能更容易阅读。但如果每个区块只有几个选择,那么这种方式可能更紧凑,但仍然可读。@David Weinraub,是的,你的选择非常好。我认为这种类型的代码RewriteCond%{QUERY_STRING}^event_id=(156 | 157 | 158)$,但正如您所说,由于他是初学者,我认为我编写的方式更具可读性。:)坦克斯·迈克尔。实际上我只是想知道我们是否可以合并这两条规则。谢谢大卫。谢谢阿努巴瓦。其实亲爱的,我只是把以上两条规则结合起来。上面有两个名为test.php和test2.php的URL。我只想合并这两个URL。