如何将所有内容重定向到ssl和index.php但不是ssl,而是将所有内容重定向到特定页面上的index.php

时间:2017-09-13 14:38:25

标签: php apache

我希望所有人都强制重定向到https,但目前我没有这个.htaccess文件的特定页面:

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

我希望所有人都重定向到https,但强制在特定页面上使用http: / exchage

我需要在.htaccess文件上添加什么代码才能实现此功能?感谢。

2 个答案:

答案 0 :(得分:1)

如何为HTTPS重定向添加其他条件以检查路径是否不以exchange开头? (我假设你拼错了exch 年龄

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/exchange
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} ^/exchange
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]

更新.htaccess文件后,请重新启动浏览器。否则,如果以前看到URL使用https,则可能强制使用https。

答案 1 :(得分:0)

我用这段代码解决了这个问题。

getSelectedSkill(){
    console.log(this.selectedSkill)
 }

花了将近3个小时来发布这段代码。