Php .htaccess将1 URI重定向到SSL(使用查询字符串隐藏)

Php .htaccess将1 URI重定向到SSL(使用查询字符串隐藏),php,.htaccess,ssl,Php,.htaccess,Ssl,我正试着做点什么,但我在兜圈子!基本上,我希望使用?request=query字符串将所有页面请求转发到main index.php文件。这一切都很完美 但是,我还希望通过https://将所有请求转发到http://上,但特定URI除外。它不起作用:-(有人知道为什么吗。我从互联网上尝试了各种组合。以下是我的.htaccess文件中的代码:- RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^example.com Rewrit

我正试着做点什么,但我在兜圈子!基本上,我希望使用?request=query字符串将所有页面请求转发到main index.php文件。这一切都很完美

但是,我还希望通过https://将所有请求转发到http://上,但特定URI除外。它不起作用:-(有人知道为什么吗。我从互联网上尝试了各种组合。以下是我的.htaccess文件中的代码:-

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

# Forward /index.php To / (without index.php)

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !^/this-is/my-secure-uri/?.*$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?request=$1 [L,QSA]

很可能SSL指向不同的服务器?到底是什么不起作用?对于单个URI还是所有HTTPS URI?很抱歉,我没有正确解释。除了声明的URI/this is/my secure URI/之外的所有URL都成功地转发到http://版本而不是HTTPS://但是我希望声明的URI保留在HTTPS://版本上这是什么您想要。但什么不起作用?我希望声明的URI保留在https://version@user1461105上您的规则看起来正常,也许可以尝试将此
RewriteCond%{REQUEST\u URI}!^/this/my secure URI/?.$
更改为此
RewriteCond%{REQUEST\u URI}!^/这是/my secure uri/?
彼此没有太大区别。除此之外,我看到的唯一可能出错的规则是您的php重定向,您是否可以临时注释该规则并测试?如果可能,还可以从尚未使用的浏览器访问以确保未缓存。由于301,您应该始终使用302,直到规则按您希望的方式工作,这样您就不会被缓存。