2011-06-29 6 views
0

.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; 
?> 

に.htaccessファイルで間違っているものを見つける助けてください。しかし、ゴダディのサーバーには問題があります。このような 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

「&%{QUERY_STRING}」を追加する代わりに[L、QSA]を使用することができます。 –

+0

あなたはこの技法を使用できます:http://www.askapache.com/htaccess/ crazy-advanced-mod_rewrite-tutorial.htmlを参照して、$ _SERVER配列のmod_rewrite変数のデバッグを行ってください。 5月は、書き換えプロセスで何が起きたかのヒントを示します。確かにあなたの前に別の書き換えルールが適用されます。最良のことは、トレースを取得するためにrewriteLogとrewriteLogLevelを変更することです。 – regilero

+1

@Eugeneこの行を追加すると違いはありますか? 'Options -MultiViews'?私は本当にそれがちょうどコメントを動作するはずだとは思わない。 – LazyOne

答えて

1

LazyOne:あなたは伝説です:Iveはこの問題を何ヶ月も持ちましたが、素晴らしい"Options -MultiViews"が私を救ったのです。

関連する問題