1

私が見たいくつかのウェブサイトでは、URLは派手で、テキストのみが含まれています。ID(番号)などはありません。

例:stackoverflowでは、質問へのサンプルURLは次のとおりです。http://stackoverflow.com/questions/3740229/how-can-i-rewrite-url-to-fancy-url ここに、3740229質問IDがあります。したがって、mod書き換えルールを使用して、質問IDを取得し、それをphpページに渡して、その質問の詳細を取得できます。しかし、一部のサイトでは、それはありません。例:http://anothersite.com/questions/how-can-i-rewrite-url-to-fancy-url

では、どのようにして詳細を取得するのでしょうか。how-can-i-rewrite-url-to-fancy-urlこれは、質問IDの代わりにこれを使用して質問を識別する方法ですか?

4

1 に答える 1

4

これはしばしばURLスラッグと呼ばれ、取得するコンテンツの一意のIDとして機能します。データベースはその一意の値how-can-i-rewrite-url-to-fancy-urlを格納し、数値IDに基づいて取得するのではなく、そのコンテンツを取得します。

舞台裏では、データベースにはレコードごとに一意の数値IDがまだ存在する可能性が高いことに注意してください。ただし、その値はエンドユーザーに公開されないため、隠すことでセキュリティが少し確保され、クロールスクリプトが値を単純にインクリメントするのを防ぐことができます。サイトのすべてのコンテンツをこすります。

新しいコンテンツを保存するときは、それに応じてタイトルを処理し(スペースをハイフンに置き換え、小文字に変換します)、作成された値がデータベース内で一意であることを確認します。そうでない場合は、一意性を確保するために、数字またはランダムな文字列を追加する必要があります。次に、URLの数値IDの代わりにその値を使用します。

于 2012-07-27T13:48:49.890 に答える