2016-08-11 47 views
1

我正在嘗試設置一個包含短網址和SSL的mediawiki網站。我一直在想現在有一段時間了,這是我的設置:MediaWiki with short URLs and SSL

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L] 

RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L] 

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} =http 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

代碼啓用SSL,但問題是,每一個安全鏈路與被重定向到主網頁,而不是其對應的HTTPS。

E.g要: wiki.com/article重定向到https://wiki.com/main_page,而不是https://wiki.com/article

我不能配置apache,所以htaccess的是我的唯一解決方案。有任何想法嗎?

回答

1

我想通了。解決方案很簡單 - 我必須先顯示https規則。

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} =http 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteEngine On 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L] 

RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]