2017-10-06 37 views
0

我有一個簡單的問題(我認爲)。htaccess指令與https衝突 - 404找不到

我的網站做的是正確 - 的URL http://example.com/mypage使用 - >/var/ww/html/mypage.php |簡而言之,它實質上允許從URL中刪除php擴展名。

我的預期結果是與https做同樣的事情。但是,我返回了404.因此,我的重寫條件在https中運行不正常,但對http運行正常。

這裏是的.htaccess文件

RewriteEngine On 

Options -MultiViews 

RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule^%{REQUEST_URI}.php [L] 

在此設置下,我必須指定%{HTTPS}?還有什麼我失蹤?

+0

HTTPS應該沒有任何區別。但是...如何配置SSL?如果在端口443(您的SSL主機)的VirtualHost容器中未設置AllowOverride,那麼您的'.htaccess'文件將不會被處理? – MrWhite

回答

1

嘗試後添加這兩行 「RewriteEngine敘述在」

RewriteCond %{HTTPS} !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]] 

希望它的作品。雖然這將取代http://,但使用https://

+0

負面 - 沒有去 - 另外,爲了將來的參考,「代碼刪除」是皺眉了...嘗試解釋你的代碼的含義和**爲什麼**你使用它.. – Zak

+0

這似乎沒有任何東西處理這個問題?! (你在'RewriteRule'指令末尾也有一個錯誤的']')。 – MrWhite