内容管理系统通常强制页面通过index.php路由。内容管理系统(CMS)强制SSL/https://使用.htaccess
例如,我使用的CMS上的页面显示在URL中,如下所示。
http://www.my-domain.co.uk/index.php?page=263
的代码的.htaccess我知道只有听我发言的index.php文件的一部分。
我现在的重写代码如下:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^login/?$ https://www.my-domain.co.uk/login [R=301,L]
这工作,因为它是一个特定的目录,但是,
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^index.php?page=263$ https://www.my-domain.co.uk/index.php?page=263 [R=301,L]
似乎并没有工作。
任何想法?
有你的最后一条规则了几个问题。 RewriteRule的第一个参数是一个正则表达式,所以?有特殊的意义。另外,我很确定它只查看URL的路径部分,而不是查询字符串。试试'^ index \ .php $'。 –
Hi @Sean这个想法似乎看起来朝着正确的方向,但是这又会将所有的URL请求重新写入HTTPS。因为cms中的所有页面都通过index.php脚本。 我假设\具有与vb#脚本相同的功能,它规定以下字符应该被视为已写入,并应忽略任何特殊含义? 如果是这种情况,我可以写它作为索引\ .php \?page = 263 $ – Josh