apache HTTP网站将除1个文件外所有文件重定向到https

ldioqlga  于 2022-11-16  发布在  Apache
关注(0)|答案(1)|浏览(153)

我有一个网站,我想要1个文件(version.txt)可以通过常规HTTP访问,但我希望其他所有内容都重定向到https。(运行centos7).在我想通过HTTP提供这个文件之前,该行是一个“Redirectpermanent”类型的行.当我第一次做这个更改时,我做了一些测试,它似乎工作;我确实可以用普通HTTP访问version.txt,我以为其他访问都被重定向到https。然而,我今天刚浏览了这个网站,注意到它都是通过HTTP来的。我对网站的知识非常少,所以我猜我对重定向的测试是错误的,因为浏览器缓存或其他东西欺骗了我,让我认为它是工作的。
的问题:在下面的conf.d文件中,为什么网站不将除version.txt之外的所有内容重定向到https?我如何更改它,使其允许对version.txt的HTTP访问,但将其他内容重定向到HTTPS?

<VirtualHost *:80>
  ServerName somewhere.com
  ServerAdmin somebody@somewhere.com
  DocumentRoot /var/www/somewhere.com
  ErrorLog /etc/httpd/logs/error_log_somewhere
  CustomLog /etc/httpd/logs/access_log_somewhere combined
  RedirectMatch permanent "^(/*version.txt/.*)" https://somewhere.com$1
</VirtualHost>
<VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile /etc/pki/tls/certs/somewhere.com_ssl_certificate.cer
  SSLCertificateKeyFile /etc/pki/tls/private/_.somewhere.com_private_key.key
  SSLCertificateChainFile /etc/pki/tls/certs/_.somewhere.com_ssl_certificate_INTERMEDIATE.cer
  ServerName somewhere.com
  ServerAlias www.somewhere.com
  ServerAdmin somebody@somewhere.com
  DocumentRoot /var/www/somewhere.com
  ErrorLog /etc/httpd/logs/error_log_somewheres
  CustomLog /etc/httpd/logs/access_log_somewheres combined
</VirtualHost>
ServerSignature Off
ServerTokens Prod
Header always append X-Frame-Options SAMEORIGIN

编辑:奖金,如果你有任何想法,是什么愚弄我认为它是工作在第一

wn9m85ua

wn9m85ua1#

您可以在<VirtualHost *:80>中使用下面的重定向。

RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]

以上规则将任何上下文重定向到具有上下文的https。

相关问题