2016-07-26 28 views
0

我正在尋找優化一些重寫規則以獲得更好的加載性能。我希望將規則從HTTP重寫爲HTTPS,並處理GET var的文件名重寫。apache htaccess重寫https request_filename

這是功能的代碼:

RewriteEngine on 

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

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?var=$1 [L,QSA] 

這是我的企圖,將其重定向到只有%{REQUEST_URI}:

RewriteEngine on 

RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ https://%{HTTP_HOST}index.php?var=$1 [R,L,QSA] 

回答

0

AFAIK,重寫規則不分析爲每個請求如果它們位於apache /虛擬主機配置文件中,而是在服務器啓動時進行分析和存儲。我不確定.htaccess,但我很確定,一旦文件已被解析,它只會重新分析,如果它的時間戳發生變化。

在任何情況下,您的組合規則將不起作用,因爲重定向到https和通過index.php重寫是獨立的操作。你的組合版本只會重寫不是https的東西。

+0

感謝您提供對主要問題的更好理解。它看起來好像我將需要保持我原來的代碼。 – Sean