我遇到以下.htaccess重寫問題。如何使用.htaccess重寫ssl和友好的URL
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重定向後顯示不出來?我試圖切換重定向,但它不起作用。你的規則
可能重複(http://stackoverflow.com/questions/4836355/mod-rewrite-include-query -string-when-redirecting) –
鏈接的問題不完全是我需要的。這裏重定向後?s = kalkulator被追加,我不想要它。 – vulg
好吧,你是對的。我閱讀重定向和查詢字符串並搜索QSA,但這不是你的問題。第一條規則也許需要'RewriteCond%{HTTPS} off'?第一條規則力''存在 –