如果URL包含某个字符串,例如“catalogsearch / result /?q =”,则htaccess重定向到sample.php文件

时间:2017-09-04 06:56:51

标签: .htaccess redirect

此条件仅检查结果:

RewriteCond %{REQUEST_URI} ^(.*)result(.*)$

但我需要这样的条件:

catalogsearch/result/?q=

然后我重定向到root中的 samlie.php 文件。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)catalogsearch/result(.*)$
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule (.*) rewrite-strtolower.php?rewrite-strtolower-url=$1 [QSA,L]

提前致谢。

1 个答案:

答案 0 :(得分:0)

%{REQUEST_URI}字符串不包含url查询字符串它只包含uri(在hostaname之后和之前的url部分?即 / catelogsearch / search )。要与查询字符串匹配,您需要使用%{QUERY_STRING}

RewriteCond %{QUERY_STRING} ^q=
RewriteRule ^uri /destinationpath/? [L,R]

此规则会将 / uri?q = 重定向到 / destinationpath