簡體   English   中英

強制Https RewriteRule .htaccess給出403錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM