簡體   English   中英

如何使用.htaccess將http重定向到https用於www和非www用於目錄

[英]How to redirect http to https for www and non www for a directory using .htaccess

我正在嘗試將所有這些條件重定向到https://www.domain.com/admin/但僅針對某個目錄

RewriteCond
http://domain.com/admin/
http://www.domain.com/admin/
https://domain.com/admin/

RewriteRule
https://www.domain.com/admin/

我試過這個但是給了我一個重定向循環:

 RewriteCond %{HTTPS} off
 RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
 RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/admin [R=301,L]

謝謝

UPDATE

我有一種感覺,服務器上的虛擬主機與它有關。 這是我在/ etc / apache2 / sites-enabled / 000-default中的內容

 <VirtualHost *:80> ServerAdmin webmaster@domain.com ServerName default.domain.com # Set application environment. SetEnvIf Host "^" APPLICATION_ENV=production SetEnvIfNoCase Host "^(stage\\.)(.*)$" APPLICATION_ENV=staging BOGUS_HTTP_HOST=$2 RewriteEngine On #RewriteLogLevel 3 # Remove parts from the front if host name has too many parts, # unless a directory with the right name exists in /var/www. RewriteCond %{HTTP_HOST} "^([^.]+)\\.(.*[^.]+\\.[^.]+)$" RewriteCond /var/www/%{HTTP_HOST} !-d RewriteRule "^(.*)$" "http://%2$1" [R,L] # Redirect admin and member requests to SSL connection RewriteCond %{REQUEST_URI} ^/(admin|member|join|order)(/.*)?$ [NC] RewriteRule ^.*$ https://%{HTTP_HOST}/%1%2 [R,L] # Set the bogus ssl header SetEnv BOGUS_HTTPS "off" UseCanonicalName Off VirtualDocumentRoot /var/www/%0 </VirtualHost> 

/admin/.htaccess有這個規則:

RewriteEngine On

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]    
RewriteRule ^ https://www.domain.com%{REQUEST_URI} [R=301,L,NE]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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