【发布时间】:2014-02-22 16:51:31
【问题描述】:
我在进行 .htaccess 重写时遇到问题。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9\-\,]+)$ index.php?s=$1
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
当我使用http://ssl.droth-admin.ogicom.pl/kalkulator 访问站点时,它会重定向到https://ssl.droth-admin.ogicom.pl/kalkulator?s=kalkulator。当我直接使用 https 访问网站时,一切正常,没有显示 ?s=kalkulator。
测试php:
<?php
//if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) AND $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
if (!empty($_SERVER['HTTPS']))
{
echo ("SSL active");
echo ("<br />");
echo ("s=".$_GET['s']);
}
else
{
echo ("SSL not active");
echo ("<br />");
echo ("s=".$_GET['s']);
}
?>
是否有任何解决方案可以使 ?s=kalkulator 在 ssl 重定向后不显示?我尝试切换重定向,但没有成功。
【问题讨论】:
-
链接的问题并不是我所需要的。在重定向 ?s=kalkulator 之后,我不想要它。
-
好吧,你是对的。我阅读了重定向和查询字符串并搜索了 QSA,但这不是你的问题。也许您也需要
RewriteCond %{HTTPS} off作为第一条规则?第一条规则强制s出现
标签: .htaccess url ssl rewrite friendly-url