0

私は URL 書き換えの世界ではまったく新しいものです。見栄えの良い URL を取得し、検索エンジン (SEO) で結果を提供するより良い構造を取得するには、独自の CMS でこれを行う必要があります。

これは、nice URL で非表示にするすべてのジョブを実行するバックグラウンド ファイルです。

これは私の構造パターンの例です:

CMS は、次のような非常に基本的な rewriterule の FR ディレクトリに HTACCESS ファイルを作成するだけです。

Options +FollowSymlinks
RewriteEngine On
RewriteRule produits/solives-de-rive-rimboard index.php?p=144
RewriteRule produits/decoupe-sur-mesure index.php?p=145
RewriteRule produits/panneaux-osb index.php?p=146
RewriteRule produits/boites-de-bois-crates index.php?p=147
RewriteRule produits/palettes-de-bois index.php?p=148
RewriteRule accueil index.php?p=4
RewriteRule a-propos-de-cimdat index.php?p=139
RewriteRule produits index.php?p=140
RewriteRule videos index.php?p=141
RewriteRule nous-joindre index.php?p=142

「accueil」、「nous-joindre」などの最初のレベルのページではすべて正常に機能します...

しかし、「produits/solives-de-rive-rimboard」のような 2 番目と 3 番目のレベルのページの回避策は見つかりませんでした。このページへのすべての相対リンクがサブフォルダー (css、画像、jquery...) にあることを除いて、index.php は正常に読み込まれます。

htaccess ファイルで使用できるタグはありますか?基本パス?

index.php に " <base href="something">" を指定すると、構造内で他の問題が発生する可能性があります。

ありがとう

4

1 に答える 1

1

これは、サーバーや .htaccess の問題ではなく、HTML の問題です。ブラウザが /category/product のようなものを表示すると、内部サーバー側のリダイレクトがリクエストをどこに送信しているかに関係なく、/category/ フォルダにあるかのように動作します。

これを修正するのは簡単です。HTML 内のすべてのリンクを、サイトのルートに関連するように変更します。したがって、次のようなイメージタグがある場合

<img src="img/button.gif" />

に変更します

<img src="/img/button.gif" />

これにより、書き換えルールに関係なく、ルートから要求ファイルへの正確なパスがブラウザーに通知されます。これは、CSS や JavaScript を含むすべての相対リンクに対して行う必要があります。少し手間がかかるかもしれませんが、いったん完了すると、ページへの見かけのパスを気にする必要がないため、将来のメンテナンスがはるかに簡単になります。

はい、これは .htaccess を介してかなり簡単に実行できますが、検索エンジンがそれを重複コンテンツと見なす可能性があり、ユーザーが静的コンテンツを効率的にキャッシュできないため、サーバー帯域幅の使用が増加する可能性があるなどの副作用があります。あなたの最善の策は、サイトが新しく成長している間にベスト プラクティスに従うことであり、回避策によって問題が発生した後で修正を試みることではありません。

于 2012-12-04T20:57:34.727 に答える