我遇到了许多类似于我需要的解决方案,但我尝试过改变它们并且没有运气,它似乎有时会忽略它们而不是其他时间。
基本上我有一个网站,我只需要在某些页面或所有php页面上进行https,如果这更容易但不适用于友好网址,例如/妇女/裙/
到目前为止,我在if语句的底部添加了:
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_FILENAME}!\.php
RewriteRule %{HTTPS} =off
如果它有所不同,顶部有一些代码可以生成友好的网址:
Options +FollowSymLinks -MultiViews -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /psyche/
RewriteCond %{ENV:REDIRECT_STATUS} !^401$
RewriteCond %{REQUEST_URI} !^/psyche/(payment|admin|provider|partner)/
#RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png|js|css|swf|php|ico)$
RewriteRule loader_(.+).css loader.php?type=css&md5_suffix=$1 [L]
RewriteRule loader_(.+).js loader.php?type=js&md5_suffix=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ dispatcher.php [L]
</IfModule>
我真的很感激任何人的帮助,因为当你在HTTPS时,友好的网址不起作用,我从来没有意识到这样会给我的客户带来压力我不明白为什么它不起作用。即使不是解决方案,也许有人可以指出我正确的方向或告诉我哪里出错了。
非常感谢,
汤姆
答案 0 :(得分:0)
HTTPS和HTTP站点由Apache中的单独.conf文件配置。该站点的SSL版本是否可能禁用.htaccess文件?重写很可能是正确的,但是由于Apache的.htaccess覆盖被禁用,因此网站的SSL版本永远不会看到它们。