2012-02-13 6 views
0

投稿のリストがありますので、クリックすると特定の投稿に移動します。基本的には、これをコード化する方法は、リンクの最後に投稿のIDを追加することです。投稿/ 1はID 1の投稿に連れて行きます。これは基本的なデザインです。そのようなURLはありません...彼らは新しいページにデータを投稿しますか?これを行うにはより良い設計は何ですか?PHPを使ってポストを開くにはどうすればよいですか?

+0

ほとんどのサイトでは、エンティティのIDにランダムなIDまたは大きな整数を使用しています。たとえば、この質問のURLはhttp://stackoverflow.com/questions/9257811です。使用するのはかなり標準的なデザインだと思います/エンティティ/

答えて

1

これはまさにStackOverflow(これは他の中でも)がこれを行う方法であり、本当に良い習慣です。これはあなたの投稿のURLです:

http://stackoverflow.com/questions/9257811/how-to-open-a-post-in-php-when-clicking-it-a-good-approach 

"/ questions/9257811"の部分は投稿のIDです。他の部分はオプションで、検索エンジンの最適化にのみ使用されます。 http://stackoverflow.com/questions/9257811/WRONG-DESCRIPTIONを読み込み、自分で確認してみてください。

編集:私は上記のリンクで間違った説明を使用できませんでした。StackOverflowは自動的に修正していました。 IDを取得するとタイトルを取得するのは簡単です。IDを自動修正する方法です。これにより、例えば "/ posts/34234/offensive-words-here"のようなリンクは避けられます。

0

URLにIDを送受信する最も良い方法は、あなたが記述したものです。ほとんどのWebページはこのようにしています。リンクがあります(例:<a href="http://www.yoursite.com/post.php?id=1">Post #1</a>)。

url-rewriteを適用すると、URLをこのように見せることによってURLを単純に「肯定する」http://www.yoursite.com/post/1しかし、実際にはURLは完全に同じです。普段は$_GET['id']でアクセスできます。

0

私は違います。ほとんどのサイトでそれを使用していますが(数値は参照するのがより便利です)、友好的なアプローチは、投稿のタイトルを使用することです。しかし、あなたはエラーを無料にするために多くの余分な手順を踏む必要があります(例えば、投稿が同一のタイトルを持つことはできません。柔軟性とURLのフィルタリングの間にダッシュまたはアンダースコアを使用するとURLが厳しくなり、 )。これらのすべての騒動を避けたい場合は、実装が容易なIDを使用してください。

関連する問題