Apache mod_重写这个-多个条件,或者我可以一起传递所有变量吗?
由于反向代理设置,我必须传递一个额外的查询变量,代理无法使用mod_rewrite。代理位于/search,但是我在所有页面上使用/find作为mod_重写/search,以对查询var s=gsacollection进行pas 见示例: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
# 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]