我一直在使用question2answer,我正在尝试使用 .htaccess 将整个网站重定向到 https。问题是文件中正在进行重写而变得混乱。
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php?qa-rewrite=$0&%{QUERY_STRING} [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
这就是我到目前为止所拥有的,如果我添加
RewriteCond %{HTTPS} !^on$
RewriteRule (.*) https://www.example.com/$1 [R,L]
它确实有效,但它搞砸了重写
RewriteRule ^.*$ index.php?qa-rewrite=$0&%{QUERY_STRING} [L]
更新
有了这个额外的代码,这就是我得到的:
https://www.example.com/index.php?qa-rewrite=123/this-is-a-title
应该:
https://www.example.com/123/this-is-a-title