Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Apache mod_重写这个-多个条件,或者我可以一起传递所有变量吗?_Apache_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache mod_重写这个-多个条件,或者我可以一起传递所有变量吗?

Apache mod_重写这个-多个条件,或者我可以一起传递所有变量吗?,apache,mod-rewrite,url-rewriting,Apache,Mod Rewrite,Url Rewriting,由于反向代理设置,我必须传递一个额外的查询变量,代理无法使用mod_rewrite。代理位于/search,但是我在所有页面上使用/find作为mod_重写/search,以对查询var s=gsacollection进行pas 见示例: # Direct link to search which passes collection var # eg http://www.domain.com/find RewriteRule ^find$ /search?s=gsacollection [NC

由于反向代理设置,我必须传递一个额外的查询变量,代理无法使用mod_rewrite。代理位于/search,但是我在所有页面上使用/find作为mod_重写/search,以对查询var s=gsacollection进行pas

见示例:

# Direct link to search which passes collection var
# eg http://www.domain.com/find
RewriteRule ^find$ /search?s=gsacollection [NC]

#Rewrite all query vars
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^find(.*)$ /search?%1 [NC,L] 
我正在尝试捕获多个变量,以便发送mod_rewrite。问题是,我并不总是知道哪些是被派过来的。这是一次试图捕捉它们的尝试。建议

我想在/find之后传递所有查询字符串?到/搜索?

例如,下面是一些示例URI:

find?q=test&sort=date:D:L:d1&num=10&s=gsacollection&l=en&start=10

find?q=tfsa&sort=date:D:L:d1&num=10&s=gsacollection&l=en&filter=0

find?q=tfsa&filter=0&num=10&s=gsacollection&l=en&sort=date%3AD%3AS%3Ad1
如果整体捕获不起作用,那么我将不得不考虑设置多个重写条件规则,想知道是否有一种方法可以将这些规则组合在一起,我可以从每个条件中传递变量来构建重写规则(例如组)


尝试在$DOCUMENT\u ROOT下的.htaccess文件中使用以下代码:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteOptions MaxRedirects=10

RewriteRule ^find/?$ search?s=gsacollection [QSA,L,NC]

确保此处没有任何其他冲突的mod_重写规则
QSA
标志将确保附加所有查询参数以与
s=gsacollection
参数合并。

尝试在$DOCUMENT\u ROOT下的.htaccess文件中使用此代码:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteOptions MaxRedirects=10

RewriteRule ^find/?$ search?s=gsacollection [QSA,L,NC]

确保此处没有任何其他冲突的mod_重写规则
QSA
标志将确保附加所有查询参数以与
s=gsacollection
参数合并。

查看一些重写标志,QSA似乎可以工作,但它对我不起作用#重写所有查询变量`
RewriteRule^find(.*)/search?$1[QSA]
查看一些重写标志,QSA似乎可以工作,但它不适合我#重写所有查询变量“
重写规则^find(.*)/search?$1[QSA]