我希望将键入 login.abcde.com
的用户重定向到 https://client1.abcde.com
并阻止所有其他 HTTP URL。所以如果有人输入 http://client1.abcde.com/thispage/isawesome.html ,它会显示一些错误消息或 404。到目前为止,我尝试将以下内容添加到我的 httpd.conf,但没有成功。我不断收到 Apache 页面说:此页面用于测试 Apache HTTP 服务器在安装后是否正常运行。如果您可以阅读此页面,则表示此站点安装的 Web 服务器工作正常,但尚未配置。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^client1.abcde.com$ https://client1.abcde.com [L,R=301]
顺便说一下,我正在使用 Apache 和 WSGI。我的 80 端口虚拟主机基本上只是:
<VirtualHost *:80>
ServerAdmin abisson@abcde.com
DocumentRoot /srv/www/abcde/html
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>
最佳答案
由于还没有其他人回复,我会试一试,它未经测试,但也许它会给你一些关于如何继续的想法。也许这可行:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^login\.abcde\.com
RewriteCond %{REQUEST_URI} ^\/$
RewriteRule ^/(.+)$ https://client1.abcde.com/$1 [L,R]
RewriteCond %{HTTP_HOST} ^login\.abcde\.com
RewriteCond ${HTTPS} !=on
RewriteRule ^/(.+)$ [F]
另外,在您的情况下,您似乎有 ^client1.abcde.com$
而不是 ^login.abcde.com$
在你的RewriteRule
,不确定更改它是否会使您的解决方案起作用。
也许您可以在 VirtualHost
中进行重定向如本 RedirectSSL 中所述维基页面?
关于apache - 通过 httpd.conf 将登录页面从 HTTP 重定向到 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731348/