0

私はそのような.htaccessを持っています:

Options -MultiViews
#Rewrite queries from google to the right files
RewriteEngine On

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*) /fragments/%1.html

私のサーバー(標準のLAMP debian)では、問題なく動作します。それをホスティング事業者(1&1)にアップロードするとすぐに、500エラーが発生します。また、1&1独自のポリシーに従って、エラーログを検査する方法はありません。

テクニカルサポートは私のサポートリクエストに答えるのに2週間かかりました、そして彼らが答えたとき、彼らはmod_rewriteを説明する一般的なページを私に指摘しました。

誰かが書き換えルール/条件の構文エラーを見つけて、最終的にそのルールが行うことを行う別の方法を提供できますか?

4

2 に答える 2

0

以下を使用します。

Options -MultiViews
#Rewrite queries from google to the right files
RewriteEngine On

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*) http://mydomain.com/fragments%1.html?

問題を解決しました。

于 2012-11-23T12:38:11.787 に答える
0

500 エラーは、サーバー設定に問題があることを意味します (500 - 内部サーバー エラー)。

次のことが考えられます。

1) サーバーは、ホスト設定を上書きする .htaccess ファイルをサポートしていません

2) 書き換えモジュールが有効になっていない

3) htaccess の rewrite の構文が正しくありません

私が見る限り、あなたのコードは正しいです。したがって、おそらくそれは1つまたは2つのオプションです。

私は提案します:

1)書き換えコードを以下でラップします(mod-rewriteがオンになっているかどうかを確認します)

<IfModule mod_rewrite.c>
...
</IfModule>

2) からすべてを削除し.htaccess、空のものを試します (まだ 500 の場合 -- 上書きは許可されていません)

DirectoryIndex your_index_file3)あなたのコードには表示されません。省略しましたか?

于 2012-11-23T12:20:56.917 に答える