我有一个站点https://example.net为了确保所有用户都转到https://,我用APACHE(在default.conf上)设置了一个重定向,如下所示:
<VirtualHost *:80>
ServerName example.net
Redirect permanent / https://emalsys.net
# DocumentRoot /var/www/example.net/
<VirtualHost *:80>
我的问题是,当我尝试访问我的phpmyadmin example.net/phpmyadmin
时,我重定向到https://example.net/phpmyadmin
,页面无法显示。(如果我删除重定向,它显然是有效的)。如何避免仅针对phpmyadmin的重定向?知道吗?
这是我在服务器中使用的强制HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
有关其他示例,请参阅Apache的wikihttps://wiki.apache.org/httpd/RewriteHTTPToHTTPS
您可以在重写之前输入REWRITECOND:
REWRITECOND %{REQUEST_URI} !^http://www.example.com/phpMyAdmin
REWRITERULE / https://emalsys.net
解决方法:我不知道为什么,但如果我键入url example.net/phpmyadmin
,我将被重定向到https://example.netphpmyadmin/
,但若我写https://example.net/phpmyadmin/
(使用/),我会转到php我的管理员。不知道为什么,但我希望这对其他人有帮助。
为了强制在pyp-myadmin上使用https://,我在phpMyAdmin的config.inc.php文件的末尾添加了:$cfg['ForceSSL'] = true;
(请参阅http://thebarton.org/forcing-ssl-with-phpmyadmin/)。