我正在尝试编辑我的.httaccess配置。我想将everythink重定向到https,但如果我试试这个,我在stackoverflow上找到了什么:
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
它不会重定向。
现在我的.htaccess看起来像:
RewriteEngine On
# ignore all existing files and directories for rewriting
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([\d+^/]*)$ /index.php?id=$1 [QSA,L]
RewriteRule ^([\w+^/]*)$ /index.php?name=$1 [QSA,L]
重写以下规则:
^([\d+^/]*)$ /index.php?id=$1 [QSA,L]
如果我想要
,效果很好就像
那么如何将我的代码附加到重定向 http://到https://我的旧重写规则仍然有用吗?
答案 0 :(得分:0)
尝试:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI [NE,L,R]
# ignore all existing files and directories for rewriting
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([\d+^/]*)$ /index.php?id=$1 [QSA,L]
RewriteRule ^([\w+^/]*)$ /index.php?name=$1 [QSA,L]
答案 1 :(得分:0)
我已经为GET params解决了这个问题:
RewriteEngine On
# ignore all existing files and directories for rewriting
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([\d+^/]*)$ https://%{HTTP_HOST}/index.php?id=$1 [QSA,L]
RewriteRule ^([\w+^/]*)$ https://%{HTTP_HOST}/index.php?name=$1 [QSA,L]
但我无法解决主页和所有其他页面问题。我正在使用JS location.replace。如果有人知道如何设置.htaccess来同步这些事情: