0

わかりました。mod rewrite を使用して、自分のサイトの seo フレンドリーな URL を書きたいと思っています。私のxamppローカルテストサーバーでは問題なく動作します。ただし、ライブにしようとすると問題が発生します。まったく機能していないようです。

htaccessファイルに書いた内容は次のとおりです。

RewriteEngine On
RewriteRule ^category/([a-zA-Z0-9]+)$ category.php?location=$1

したがって、アイデアはに変更mysite.com/category.php?location=londonすることmysite.com/category/londonです。

最初は、GoDaddy 側で mod 書き換え機能がオンになっていることに問題があるのではないかと考えていたので、GoDaddy に連絡して、それが事実であるかどうかを確認したところ、「Mod_rewrite は、すべてのサーバーにインストールされている Apache Web サーバー モジュールです。デフォルトで Linux サーバーの. インストールまたは有効にする必要はありません. 私たちの Linux ホスティング アカウントは、ほとんどの mod_rewrite 機能をサポートしています. mod_rewrite の有効化はグローバル レベルで処理されるため、httpd.conf ファイルで有効にする必要はありません.必要なコードを .htaccess ファイルの本文に追加するだけです。」

そして、彼らは基本的に、エラーが彼らと私のコードにあるのではないとほのめかしました。私は mod の書き直しの経験があまりないので、他のサーバーでこのように書いたときは問題なく動作するように見えました。Godaddy と一緒に書かなければならない特別なことはありますか? 何か不足していますか?ありがとう!

4

1 に答える 1

1

htaccessファイルにそれはすべてありますか?目的の URL にアクセスしたときに発生するエラーは、500 内部サーバー エラーですか?

私が通常デフォルトで追加するのは、If ステートメントです。

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /

  RewriteRule ^category/([a-zA-Z0-9_-]+)$ category.php?location=$1 [L]
</IfModule>

ちなみに、_-ルールの文字セットの末尾にある に注意してください。たとえば、ニューヨークには の SEF バージョンがありnew-yorkcategory/new-yorkRewriteRule では失敗します。

于 2013-03-29T23:44:23.050 に答える