2012-04-05 3 views
2

先週、私の電子商取引サイトのすべてのフォームが機能しなくなりました(最も重要なのは、チェックアウトが機能しないということでした)。私のサイトはXHTMLとPHPで書かれています。私はサイトのコードに変更を加えなかったので、私のウェブホストは私のホスティング設定にいくつかの変更を加えたと仮定しました。いずれにせよ、彼らは何も変えておらず、自分のサイトのコードが間違っていると言いました。URLの末尾に後ろにスラッシュが現れて、明白な理由なしに

現在、私のhtaccessファイルで次のコードを使用して、Webページアドレスにphp拡張子を削除しています(私は本当にこのコードを理解していないのですが、インターネットからコピーして貼り付けたようですが、私は、明白な理由がないのに、すべてのURLに後続のスラッシュが追加されていることに気づいた。これは、POST経由で送信されたフォームデータが、後続のスラッシュのないWebページを指すフォームとして次のページに渡されなかったことを意味します。私は、自分のサイトが一時的に固定されているのは、私のフォームが指し示すアドレスに末尾にスラッシュを加えるだけです。

私はこのソリューションに満足していませんが、私は自分のウェブページをどのように戻したいのですか?特に、スラッシュの有無にかかわらず、ページが完全に別のページとみなされるため、SEO作業への影響について懸念しています。最も奇妙なことは、新しいページを作成すると、古いページと同じであっても末尾にスラッシュがないことです。

この変更が青色から発生した理由と、この問題を解決する方法を知っている人はいますか?私のWebホスティングは現在、PHPバージョン5.2.17を実行しています。

+0

プログラムでリンクを作成していますか?もしそうなら、その関数のコードを表示できますか? – konsolenfreddy

答えて

0

Apacheのmod_dirモジュールのように聞こえるかもしれません。 http://httpd.apache.org/docs/2.0/mod/mod_dir.html

DirectorySlash Offを.htaccessファイルに入れて、それが機能するかどうかを確認することができます。 RewriteOptions AllowNoSlashもどこかにいるかもしれません。

また、RewriteLog "rewrite.log"RewriteLogLevel 3ディレクティブを使用すると、書き換えに関する詳細情報が表示されます。何かが起こっている可能性があります。

+0

ありがとうございます。実際に、私のhtaccessファイルに 'DirectorySlash Off'というコードを追加すると、そのトリックが完了しました! – sam8perry

関連する問題