2010-04-29 107 views
0

是一個相當新的htaccess重定向這個世界。他試圖強制我的Zend MVC中的所有重定向到我的https,但我得到一個請求的URL未找到錯誤的請求,控制器URL重寫htaccess問題

https://www.example.com/auth/register 

給出請求的URL/AUTH /註冊未找到錯誤。但是,如果我刪除了https重定向規則,它可以正常使用http。如果我將網址調整爲

https://www.example.com/index.php/auth/register 

它工作正常。 的URL

https://www.example.com/index/faq 

作品就好了,因爲它通過索引控制器。

我的.htaccess文件看起來像這樣

RewriteEngine On 

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L] 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

<ifModule mod_gzip.c> 
    mod_gzip_on Yes 
    mod_gzip_dechunk Yes 
    mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$ 
    mod_gzip_item_include handler ^cgi-script$ 
    mod_gzip_item_include mime ^text/.* 
    mod_gzip_item_include mime ^application/x-javascript.* 
    mod_gzip_item_exclude mime ^image/.* 
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</ifModule> 

什麼我需要調整,以獲得URL

https://www.example.com/auth/register 

工作?

+0

發現我的疑難問題。didnt通過端口指定SSL請求國防部重寫規則443 – davykiash 2010-08-05 17:09:48

回答

0

您的代碼顯示爲「如果此項匹配文件,鏈接或目錄,則不做任何操作並繼續。」您需要跳過最後重寫規則在文件中實際存在的情況下:

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [S=1,NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
+0

沒有變化的https:// WWW。 example.com/auth/register仍然會引發相同的錯誤 – davykiash 2010-04-29 19:04:28