1

mongodb を使用してデータを保存しています。また、デフォルトの _id は長く、クリーンではありません。だから今私のルートは次のようになります: example.com/job/sdg3463retgeragsehxcwe35435ert5

正常に動作します。

しかし、Numbers を自動インクリメントしてカスタム ID (serial_number のようなフィールド名) を保存する方法はありますか?

このように実装しました: 最後に保存されたシリアル番号を格納する別のコレクションを作成しました。次に、新しいデータを保存しながらインクリメントします。これはうまくいきますが、もっと良い方法はありますか?

また、ID の代わりにスラッグで URL を保存する方法は? スラッグとその関連 ID を保存するために別のコレクションが必要ですか?

生の mongodb _id を使用するとどうなりますか? SEOに大きなダメージを与えるのでしょうか?それとも他の問題?

これは問題なく機能しますが、プロがどのように行うのか疑問に思っています.

4

2 に答える 2

3

英数字の ID が必要な場合は、shortid モジュールが非常にうまく機能します。https://github.com/dylang/shortid

実際のスラッグが必要で、mongoose を使用している場合は、mongoose-uniqueslus モジュールを試すことができます。https://github.com/punkave/mongoose-uniqueslugs.git

于 2013-04-01T13:04:18.097 に答える
1
  1. .htaccess を使用して、すべてのトラフィックを index.php にリダイレクトする必要があります。
  2. index.php では、$_SERVER["REQUEST_URI"]変数に保存されている URL の末尾をどうするかを選択する必要があります。
  3. その値に応じて、必要なものを表示できます:)

注: http://domain.com/index.phpなどの絶対リンクは、.htaccess にさらに変更を加えない限り引き続き機能します。

于 2013-04-01T13:07:33.627 に答える