如何使用 mod_rewrite 保证网站某一页面的安全

如何使用 mod_rewrite 保证网站某一页面的安全

我想将我网站上的几个页面的 URL 访问从 http 重定向到 https。

我知道如何使用 apache 虚拟主机中的重写来对整个网站进行此操作:

RewriteEngine On
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI}

但有没有办法对网站的一个页面进行此操作?例如“www.example.com/protected-page”

答案1

尝试这个

RewriteRule ^/protected-page/(.*) https://example.com/protected-page/$1 [R,L]

参考 :http://httpd.apache.org/docs/current/rewrite/intro.html

答案2

我最终做了一些不同的事情,并确保了一切安全如果页面受到保护则无法正常工作:

  RewriteEngine On
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{REQUEST_URI} !^(.*loadFormImages.*)
  RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [L]
  #RewriteLog /opt/tmp/rewrite.log
  #RewriteLogLevel 3

相关内容