我使用mod_rewrite允許「友好的URL」來取代搜索參數,這工作正常。 但是我現在需要的所有流量重定向到https://,但只允許某些頁面留在http:// (我需要做,所以我的推薦是由我的網站流量發送到收集)多個htaccess的http重定向到https但除了頁面
多年來我已經添加到.htaccess文件,大多數工作正常,但我沒有完全理解它,所以它可能會變得凌亂:-(
我有以下(我已經刪除了任何我不認爲是相關)
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
</IfModule>
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([A-Za-z0-9'/-]+)-([0-9]+)$ profile.php?id=$2 [NC,L,QSA]
# NOTE: this allows for profile.php?id=123 to be replaced with /profile/name-123
# redirects any http:// traffic to https://
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
上述工程行,但全部重定向頁面到https
我已嘗試添加/更改HTTPS重定向部分下面,讓urlout.php不被重定向,但是這只是循環,我也得到一個瀏覽器警告的頁面重定向過多:-(
# redirects any http:// traffic to https://
RewriteCond %{HTTPS} !on
RewriteCond ${REQUEST_URI} !^/urlout\.php
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我已經嘗試了一些其他的東西太多,但他們要麼不重定向,一切都將HTTPS,或者我得到循環錯誤或內部500錯誤...
基本上我希望所有的頁面訪問https,但不是urlout.php
對上述任何代碼的任何意見,我會很多appr eciated!
我認爲這個問題實際上並沒有完成OP所要求的內容,即從HTTPS重定向中明確選擇特定的頁面,而不是反過來。 –
謝謝,但這是我想要的反例。我嘗試從你說的話交換事情,但是這給內部服務器錯誤(500)。我想重定向整個網站,但不是page.php或page1.php – Ford