我将当前的htaccess放在http://www.mydomain.com/dev
的文件夹中RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dev/index.php [L]
我尝试将最后一行更改为:
RewriteRule ^(.*)$ https://www.mydomain.com/dev/index.php [L]
然而,这不起作用,该网站抛出了一个ISE。一切都需要通过mydomain.com/dev/index.php运行。
答案 0 :(得分:0)
实现此目的的最简单方法是在端口80上创建单独的虚拟主机,将所有内容重定向到https。应该在Apache配置中看起来像这样:
<VirtualHost *:80>
ServerName example.com
# Force usage of SSL
Redirect / https://example.com/
</VirtualHost>
<VirtualHost 127.0.0.1:443>
DocumentRoot /var/www/vhosts/example.com/httpdocs
ServerName example.com
</VirtualHost>
这应始终重定向到请求的页面的ssl等效项,同时保持所有其他规则不变。如果您无权访问全局Apache配置(例如在共享主机上),请让您的主机将上述内容应用于您的vhost条目。