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に関連するものは何も見つかりませんでした。私は考えがなくなっているので、あなたの考えを教えてください。
「&%{QUERY_STRING}」を追加する代わりに[L、QSA]を使用することができます。 –
あなたはこの技法を使用できます:http://www.askapache.com/htaccess/ crazy-advanced-mod_rewrite-tutorial.htmlを参照して、$ _SERVER配列のmod_rewrite変数のデバッグを行ってください。 5月は、書き換えプロセスで何が起きたかのヒントを示します。確かにあなたの前に別の書き換えルールが適用されます。最良のことは、トレースを取得するためにrewriteLogとrewriteLogLevelを変更することです。 – regilero
@Eugeneこの行を追加すると違いはありますか? 'Options -MultiViews'?私は本当にそれがちょうどコメントを動作するはずだとは思わない。 – LazyOne