gpt4 book ai didi

Apache2 .htaccess 重定向到 https 不起作用

转载 作者:行者123 更新时间:2023-12-04 19:16:33 29 4
gpt4 key购买 nike

我意识到这是一个得到了很多回答的问题,但由于某种原因,其他解决方案对我不起作用。我正在尝试将 http 重写为 https,但是当我尝试使用 http 浏览我的网站时仍然收到“错误请求”。

这是我的 .htaccess 中的代码:

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

我在 VirtualHost 配置中有 AllowOverride All 并确保 mod_rewrite 已启用。

任何帮助表示赞赏。如果您需要更多信息,请与我们联系。

编辑:

这是我完整的 .htaccess 文件:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

可能的解决方案:
我使用的是 Apache 2.2。这可能是旧版本 Apache 的错误。我会更新,当我知道更多时我会再次发布。

最佳答案

首先你应该确保启用 mod_rewritessl在你的 apache 上,通过这个代码

sudo a2enmod rewrite
sudo a2enmod ssl

然后重新启动你的apache
 sudo service apache2 restart

现在按照这个步骤
sudo nano /etc/apache2/sites-enabled/000-default.conf 

并添加此代码
<VirtualHost *:80>
ServerName my.site.com
ServerAlias my.site.com
DocumentRoot /var/www/SITE-PATH
<Directory /var/www/SITE-PATH>
AllowOverride All
Order Allow,Deny
Allow from All
</Directory>
ErrorLog /var/log/apache2/project_error.log
CustomLog /var/log/apache2/project_access.log combined
</VirtualHost>

然后转到您的网站目录 /var/www/SITE-PATH并将此代码添加到您的 .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

以及路径 /etc/apache2/sites-enabled/default-ssl.conf 上的 ssl 信用
你应该有这样的东西
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerAdmin admin@example.com
ServerName my.site.com #important
ServerAlias my.site.com #important
DocumentRoot /var/www/SITE-PATH #important
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt #important
SSLCertificateKeyFile /etc/apache2/ssl/apache.key #important
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

如果你走的所有步骤都正确,你应该在最后
http://my.site.com => 重定向到 => https://my.site.com
编辑:
有关 SSL 的更多详细信息,请关注 How To Create a SSL Certificate on Apache for Ubuntu 14.04this post

关于Apache2 .htaccess 重定向到 https 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726510/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com