2011-01-24 176 views
1

我的.htaccess文件中有一個簡單的重寫規則,爲我的訪問者創建搜索引擎友好的URL。該規則對http連接起作用很大,但由於某種原因,通過https進行請求時,該規則將被忽略。HTTPS請求忽略重寫規則

下面是.htaccess文件的內容:

<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([a-z\-]+)/$ /$1.php [L] 
</IfModule> 

任何意見或建議,爲什麼HTTPS請求無視規則,但http請求確認規則?任何幫助將不勝感激。我花了整整一天在谷歌和各種論壇上無濟於事。

謝謝!

+1

你爲什麼認爲`.php`不是搜索引擎友好的? – Gumbo 2011-01-24 10:54:45

+1

你是對的 - .php是搜索引擎友好的。我想我是指蒂姆伯納斯李關於酷URI的說法 - http://www.w3.org/Provider/Style/URI – Jeremy 2011-01-24 17:24:31

回答

1

據我所知,你的規則沒有任何依賴於端口或協議。我的教育猜測是你的HTTP和HTTPS站點在不同的設置下運行:它們要麼使用不同的文檔根目錄,要麼第二個不需要任何東西(它需要AllFileInfo)。

0

假設他們都提供了相同的<目錄>節的,比較AllowOverride指令爲HTTPS <虛擬主機>到非SSL之一。

+1

感謝您的提示。這聽起來像我需要看看我的SSL虛擬主機來解決這個問題。 – Jeremy 2011-01-24 17:22:36