我最近将我的网站设置为对所有内容都使用 HTTPS。但是,我想有选择地允许几个目录使用 HTTP。这是我的 .htaccess 文件的片段:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://phpbbservices.com/$1 [L,R=301]
RewriteBase /
我想排除 /httpdocs/digests/update_check 之类的目录。
您应该使用%{HTTPS}
变量而不是指令{SERVER_PORT}
定义的变量UseCanonicalPhysicalPort
,否则可能不准确。对于您不想重定向的每个目录,只需!
针对%{REQUEST_URI}
变量添加排除条件(使用 ):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/digests/update_check
RewriteRule ^(.*)$ https://phpbbservices.com/$1 [L,R=301]