0

私のウェブサイトは、ユーザーがアイテムページにアクセスすると、9gagやdamnlolなどのように機能します。たとえば、site.com / 104-funny-thingの場合、書き換えルールはview.php?id=104-funny-thingにリダイレクトされます。ここでは、最初の「-」以降のURLがすべて削除されています。したがって、IDのみ(この場合は104)が残り、クエリはアイテムを取得します。

ルールは次のとおりです。

RewriteRule ^([A-Za-z0-9-]+)$ view.php?id=$1

私が欲しいのは、同じURL形式を使用してユーザープロファイルを開くこともできるということです。例:site.com/salman、このURLはprofile.php?username=salmanを開く必要があります。

PHP経由でこれを行うことを考えました。両方の目的で同じファイルview.phpを使用できる場合。URLの解析が完了したら、数値を取得したら、item.phpページを含め、それに応じてデータをクエリして表示します。数値でない場合は、profile.phpページを含めて、代わりにプロファイルを表示できます。これは理論的には問題なく機能するはずですが、私が試したかったのは、.htaccessを直接使用してリダイレクトする方法がある場合は、そのオプションを使用することをお勧めします。前のオプションでは、解決策のいくつかの問題を解決するために追加の作業が必要になるためです。原因。

htaccess(正規表現コード?)が得意な人が解決策を提供できるかもしれません。ここにいくつかのさらなる説明があります:

  • ユーザー名には数字を含めることができますが、数字だけではありません
  • ユーザー名のURLに「-」を含めることはできません
  • アイテムIDにアルファベットを含めることはできません
  • URL 104-面白い、104-、104、すべてview.phpで機能します

高度なご協力ありがとうございます!

4

1 に答える 1

2
#article urls
RewriteRule ^([0-9]+)(-.*)?$ view.php?id=$1

#profile urls.
RewriteRule ^([A-Za-z0-9]+)$ profile.php?username=$1
于 2012-06-06T10:08:27.257 に答える