繁体   English   中英

重定向到.htaccess中的https:// www时如何排除某些URL

[英]How to make an exclusion for some url when redirectiong to https://www in .htaccess

我正在使用.htaccess将所有查询重定向到https:// www。 example.com

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.example.com%{REQUEST_URI} [L,R=301]

#and below some rules from symfony2 configuration

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .? - [L]

RewriteRule .? %{ENV:BASE}/app.php [L]

现在,我想排除某些URL:http:// example.com/someurl(不要将此URL重定向到https方案,也不要添加www)如何获取?

我一直在寻找stackoverflow中的答案,但是在重定向到https时,仅针对一条规则找到了解决方案...

您可以使用RewriteCond使用排除项:

RewriteCond %{HTTPS} off
RewriteCond %{THE_REQUEST} !/someurl [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{THE_REQUEST} !/someurl [NC]
RewriteRule textriteRule .* https://www.example.com%{REQUEST_URI} [L,R=301]

#and below some rules from symfony2 configuration

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .? %{ENV:BASE}/app.php [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM