php - zf2 - 使用 .htaccess 强制 SSL/https

标签 php apache .htaccess ssl mod-rewrite

我已经关注了这个 question还有这个question 但对我帮助不大。

我在使用 Zend Framework2

我收到页面未正确重定向错误。

这是我的 .htaccess 文件,

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond $1 !^(index\.php|robots\.txt|(.*).gif|(.*).jpg|(.*).png|(.*).jpeg|(.*).GIF|(.*).JPG|(.*).PNG|(.*).JPEG|upload|(.*).js|(.*).css)
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]

<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>

<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
</IfModule>

<IfModule mod_php5.c>
    #Session timeout 90 days - 7776000
    php_value session.cookie_lifetime 7776000
    php_value session.gc_maxlifetime 7776000
</IfModule>

我在 .htaccess 文件的开头添加了这个,

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

但对我没有用。

我做错了什么?

编辑 - Apache 版本为 2.2.15。

最佳答案

最喜欢的解决方案。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</IfModule>

一个很好的答案 Best Practice: 301 Redirect HTTP to HTTPS (Standard Domain)

关于php - zf2 - 使用 .htaccess 强制 SSL/https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43085356/

相关文章:

php 到 excel - 德语元音变音

apache - 基本 Web 服务器问题 - Debian 10 和 Apache2 - 使用自签名 SSL 证书托管两个站点

php - Joomla 3.3 中带有用户名的 URL

php - yii2 - 如何设置货币十进制值

php - python 中的混淆值

php - 制作常见 SQL 字段的大小是多少?

java - SEVERE : Error processing TLD files for context path . .java.lang.IllegalArgumentException:URI 具有权限组件

css - 在浏览器加载时解析 CSS 文件

.htaccess - 如何将所有网站请求重定向到没有 www 的 HTTPS

apache - htaccess 文件拒绝所有,重定向到 404 在 403.shtml 上找不到,但未定义自定义错误页面