使用https redirect

时间:2018-08-27 15:27:47

标签: php apache .htaccess redirect mod-rewrite

我们的服务器使用主义并为其配置了htaccess-将所有请求重定向到init dev.php脚本。

添加重定向到https后,我遇到了问题:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} !/payment/
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* dev.php [L]

RewriteRule \.html$ dev.php [L]
RewriteRule \.haml$ dev.php [L]

</IfModule>

转发到https可以正常工作,但是当通过http访问付款控制器时,例如http://host/payment/payment_server-重定向到: https://% {host} /dev.php 和学说显示错误404-找不到模板dev.php 尽管它应打开排除规则中指定的不带重定向的控制器链接:

RewriteCond %{REQUEST_URI} !/payment/

如果我删除了到https的重定向,那么所有内容都可以在http上正常工作。

请帮助进行配置,以便它可以正常重定向到除支付控制器以外的所有地方的https

0 个答案:

没有答案