[英]forced Https RewriteRule .htaccess gives 403 error
我的網站的.htaccess文件有問題。 我想強迫人們在我的網站上使用https,因此已將其添加到我現有的.htaccess中:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
最終結果:
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ index.php?url=$1
RewriteRule ^news/([a-zA-Z0-9_-]+)(|/)$ index.php?url=news&id=$1
RewriteRule ^home/([a-zA-Z0-9_-]+)(|/)$ index.php?url=home&user=$1
RewriteRule ^swf/plex-imaging/badge/([a-zA-Z0-9_-]+)(|/)$ swf/plex-
imaging/badge.php?badge=$1
RewriteRule ^register/([a-zA-Z0-9_-]+)(|/)$ index.php?
url=register&userref=$1
RewriteRule ^newpassword/([a-zA-Z0-9_-]+)(|/)$ index.php?
url=newpassword&key=$1
但是現在我收到403錯誤:
您無權訪問此服務器上的/。
嘗試這個
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^([a-zA-Z0-9_-]+)(|/)$ index.php?url=$1 [L]
RewriteRule ^news/([a-zA-Z0-9_-]+)(|/)$ index.php?url=news&id=$1 [L]
RewriteRule ^home/([a-zA-Z0-9_-]+)(|/)$ index.php?url=home&user=$1 [L]
RewriteRule ^swf/plex-imaging/badge/([a-zA-Z0-9_-]+)(|/)$ swf/plex-imaging/badge.php?badge=$1 [L]
RewriteRule ^register/([a-zA-Z0-9_-]+)(|/)$ index.php?url=register&userref=$1 [L]
RewriteRule ^newpassword/([a-zA-Z0-9_-]+)(|/)$ index.php?url=newpassword&key=$1 [L]
我已經為您的HTTPS重定向更新了RewriteRule,以便它發送301狀態的HTTP狀態代碼,並執行重定向而不是重寫。 如果沒有標志R=301
,服務器將僅重寫連接,就像用戶通過您為其提供的新URL連接一樣(這是完成URL的方式)。 我還添加了L
標志,以表示每個規則之后都不應再處理其他規則。
還刪除了多余的RewriteEngine On
,但這可能不是造成問題的原因。
我所做的最后一次更新是對幾個RewriteRules進行的,我所做的一切都是確保將它們分成兩個部分,以確保它們在同一行上。
您可以在此處閱讀有關apache的rewriterule標志的更多信息。
我通過重新加載ssl證書來解決它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.