内容管理系统通常强制页面通过index.php路由。
例如,我使用的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]
似乎不起作用。
有什么想法吗?
答案 0 :(得分:1)
path
部分,因此只需^index\.php$
。RewriteCond %{QUERY_STRING}
匹配查询字符串。%{HTTPS}
变量比检查端口更容易。[R=301,L]
,因此您可以删除它。所以,你最终得到:
RewriteCond %{HTTPS} off
RewriteCond %{QUERY_STRING} ^\?page=263$
RewriteRule ^index\.php$ https://%{HTTP_HOST}%{REQUEST_URI} [QSA]
答案 1 :(得分:0)
我有一个从某个网页复制过的片段。也许你可以尝试一下?
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}