2011-06-29 18 views
0

的.htaccess請幫我找出什麼不對的的.htaccess

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine on 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L] 
</IfModule> 

rewrite.php

<?php 
print_R($_GET);die; 
?> 

這正常工作對我的本地補償和許多其它服務器。但在godaddy服務器上有一個問題。 URL像這樣被成功處理

site.com/search/action/browse 
Array ([p] => search/action/browse) 

但這URL有問題

site.com/index/country/United-States 
Array ([p] => missing.html) 

有一個在站點根目錄沒有索引/目錄。儘管有一個index.php文件。我試圖去通過GoDaddy的控制面板,但沒有找到相關missing.html什麼。請讓我知道你的想法,因爲我沒有想法。

+1

與問題無關,但我認爲您可以使用[L,QSA]而不是追加'&%{QUERY_STRING}' –

+0

您可以使用這個傢伙技術:http://www.askapache.com/htaccess/瘋狂 - 高級 - mod_rewrite的-tutorial.html得到$ _SERVER數組中一些mod_rewrite的變量的一個很好的調試。可能會給你提示重寫過程中發生了什麼。當然,另一個重寫規則應用在你的之前。最好的辦法是改變rewriteLog和rewriteLogLevel得到跟蹤。 – regilero

+1

@Eugene你看到任何區別,如果你加入這一行:'選項-MultiViews'?我真的不認爲它應該起作用,因此只是一個評論。 – LazyOne

回答

1

LazyOne:你是一個傳說:Ive有這個問題幾個月和美妙的"Options -MultiViews"救了我。

相關問題