1

つまり、私のサイトには、平均的なユーザー プロファイル用のバニティ URL がすでにあります...

basecentre.co.uk/user1

これにより、ユーザーは次の場所にリダイレクトされます

basecentre.co.uk/userprofile.php?username=user1

以下のコードを使用して...

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^thankyou-page=([0-9]*)$ 
RewriteRule ^(.*)$ affilates_redirect.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /userprofile.php?username=$1
RewriteCond %{HTTP_HOST} ^www.basecentre.co.uk$ [NC]
RewriteRule ^(.*)$ http://basecentre.co.uk/$1 [R=301,L]
</IfModule>

私もビジネス プロファイルを作成しようとしていますが、同じようなことをしようとしていましたが、自分のサイトで別のページを使用していたので、...

basecentre.co.uk/businessprofile.php?businessname=mcdonalds

になるだろう

basecentre.co.uk/mcdonalds

また、通常のユーザー プロファイルと混同されることもありません。これは機能しますか、それともサイトにバニティ URL を 1 つだけ設定できますか? それが本当なら、私が使用できる他のオプションはありますか?

また、これが可能である場合、同じビジネス プロフィール名のユーザー名を持っている場合はどうなりますか?

助けてくれてありがとう!

4

2 に答える 2

3

/user/user1 や /business/macdonalds などの URL スキームを使用することをお勧めします。これにより、衝突が除外されます。

/user1 などのユーザー プロファイル URL を残し、ビジネス プロファイルの新しいスキームとして /business/macdonalds を追加することもできます。

最後に、好きなことをすることは不可能ではありませんが、いくつかの制約があるため、より困難です。

  1. ユーザー名が会社名と同じにならないようにする必要があります。
  2. userprofile.php または businessprofile.php にリダイレクトすることはできませんが、ルーティングを行うスクリプト (index.php など) にリダイレクトする必要があります。
  3. ユーザーとビジネス テーブルを検索して、表示する必要があるプロファイルのタイプを見つけ、最後に正しい .php ファイルを実行するルーターを開発する必要があります。
于 2014-08-02T21:03:23.477 に答える
1

次のようなことができます。

RewriteEngine On
RewriteRule ^page/([^/]*)$ /businessprofile.php?businessname=$1 [L]
RewriteRule ^user/([^/]*)$ /userprofile.php?username=$1 [L]

たとえば、ユーザープロファイルをリダイレクトしbasecentre.co.uk/user/...、ビジネスプロファイルをリダイレクトしますbasecentre.co.uk/page/...

于 2014-08-02T21:07:54.920 に答える