1

私は自分のウェブサイトに広告を出すためにビジネスにサインアップします、そして私は彼らに彼らの顧客が行くための直接のURLを持って欲しいです。

の代わりにwww.website.com/page.php?id=324234234

欲しいwww.website.com/businessname

これを行う簡単な方法はありますか?私は人々がやろうとしているさまざまなことをたくさん検索して見ましたが、私がやりたいことと同じものは何も見ていません。

私はVPSを使用していますが、誰もがそこに侵入して物事を台無しにすることができるように、アクセス許可を開かないようにしたいと思います。

また、これらのユーザーは自分でサインアップすることはありません。私はそれをします。

最終結果を得る最も簡単な方法は、私が探しているものです。ありがとう!

4

2 に答える 2

5

基本的なURL書き換えが機能する可能性があります。

.htaccessファイルに追加します

 RewriteEngine on
 RewriteRule ^(.*)$ page.php?businessname=$1 [L]

次に、PHPを使用してビジネス名を会社のIDに書き換え/データを検索します。

もちろん、より複雑な書き換えが必要な場合、.htaccess書き換えルールは完全な科学です...

于 2012-12-01T00:29:12.453 に答える
2

jthemanが言ったことをもう少し説明して繰り返します。

次の内容で.htaccessという名前のファイルを作成します。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ page.php?businessname=$1 [L]

もちろん、ディレクトリレベルの.htaccessを有効にする機能が必要です。VPSを使用しているため、まだ有効になっていない場合はこれを実行できるはずです。

それでは、各行が何をするかを説明しましょう。

RewriteEngine on

URLの書き換え機能をオンにします

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

ディレクトリにすでに存在するファイルをリダイレクトしないようにApacheに指示します

RewriteRule ^(.*)$ page.php?businessname=$1 [L]

ここで魔法が起こります。

^(.*)$この部分は、正規表現の一致のようなものです。Apacheに、文字を含むURLを収集し、page.php?businessname =(。*)にリダイレクトするように指示します。

したがって、投稿する場合: www.website.com/stackover

それは本当に送信されます:www.website.com/page.php?businessname=stackover

次に、を使用$_GET[businessname]してページを動的に更新できます。

お役に立てれば!

于 2012-12-01T00:42:38.790 に答える