0

mod rewrite を使用して URL の見栄えを良くできることは理解しています...

例えば:

www.myblog.com/articles/read.php?article_ID=1234

に:

www.myblog.com/read/1234

を使用して:

RewriteRule ^([^_]*)/([^_]*)$ /articles/$1.php?article_ID=$2

では、元々 URL に含まれていなかったものを URL に追加するにはどうすればよいでしょうか。

たとえば、URL を数字ではなく記事の説明 (見出し) にしたい場合はどうすればよいですか?

どうすればこれを達成できますか:

http://www.myblog.com/read/This_is_the_heading_of_a_very_interesting_article

見出しを取得するには、記事 ID を使用してデータベースに接続する必要があります... mod_rewrite には、php スクリプトを呼び出す方法がありますか?

そして (それが可能な場合でも) 2 つのブログ記事の見出しが同じ場合はどうなるでしょうか?

後者がこれが機能しなかった理由かもしれませんが、何度も見たような気がします...

次のような混乱を避けるために、一意の識別子をURLに追加することで修正できると思います。

http://www.myblog.com/read/1234/This_is_the_heading_of_a_very_interesting_article

それがどのように達成できるのか疑問に思っているだけで、アドバイスをいただければ幸いです。:-)

4

2 に答える 2

1

リンクを作成するには PHP を使用する必要があります。ページが読み込まれると、ID、タイトル、テキストなどを含む記事情報が DB から抽出されている可能性があります。リンクを作成するときは、データベースからの情報を使用して、タイトル付きの URL を含むページを作成します。ただし、重要なのは ID です。これが、重複したタイトルが無関係になるように追跡する方法です。

このリンクで投稿のタイトルを変更できます URL を URL に含まれていないものに書き換えますが、タイトルはサーバーに移動すると無視されます。

役立つかもしれないので、このリンクをチェックしてください

stackoverflowのようなSEOフレンドリーなURLを書き換える方法

于 2013-06-28T01:11:37.783 に答える
0

このようなものについては、スラッシュを区切り文字として使用する傾向があります。これは、人々がそうする傾向があるためです。これは、「my_title_either/or」のタイトルを持つことができることを意味しますが、通常は問題ありません。

RewriteRule ^([^/]*)/([^/]*)$ /articles/$1.php?article_header=$2

記事のヘッダーを独自のものにするのは、あなた自身の責任です。一意の ID を持つ 2 番目のバージョンは次のようになります。

RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /articles/$1.php?article_id=$2

私は $3 をまったく使用していません。一意の ID を持っている場合は、他に何も必要ありませんが、必要に応じて引き続き使用できます。

RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /articles/$1.php?article_id=$2&title=$3
于 2013-06-27T23:49:36.877 に答える