0

簡単な質問ですが、

私は自分のウェブサイトのユーザー プロファイルを作成しており、バニティ URL を含めたいと考えていますが、ページには、読み込まれる個別の情報が多数あります。たとえば、[フォロワー] タブ、[アップロード] タブなどです。これらのそれぞれには、次のような適用可能な設定があります。 ASC DESC、新しい/古い結果など。必要な機能を維持しながら、バニティ URL を保持するための最良の方法は何ですか?

http://www.site.com/user.php?id=1&content=Followers&Order= (結果ごとに異なる設定)

しかし、誰かがフォロワーと制限を検索したい場合は、コンテンツに別の名前を付けたほうがよいのではないかと考えています。

http://www.site.com/user.php?id=1&content=NewestFollowers

それよりも

http://www.site.com/user.php?id=1&content=フォロワー&注文=最新

4

1 に答える 1

0

通常、バニティ URL を作成して、クエリ文字列パラメーターに直接マッピングして、醜い URL にします。あなたが持っている場合:

http://www.site.com/user.php?id=1&content=Followers&Order=Newest

バニティ URL は次のようになります。

http://www.site.com/u/1/Followers/Newest/

しかし、/1/ビットは少し醜く、正確には虚栄心ではないため、そのクエリ文字列パラメーターを介してユーザー名を渡すことができれば、見栄えが良くなります。

http://www.site.com/u/jonlin/Followers/Newest/

次に、いくつかの mod_rewrite ルールをドキュメント ルートの htaccess ファイルに配置して、内部的にバニティ URL を醜い URL に書き換えます。

RewriteEngine On
RewriteRule ^u/([^/]+)/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2&Order=$3 [L,QSA]
RewriteRule ^u/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2 [L,QSA]
RewriteRule ^u/([^/]+)/?$ /user.php?id=$1 [L,QSA]
于 2012-09-10T11:48:24.317 に答える