0

StackOverflow のすべての記事を参照しても修正できないように見える問題に行き詰まっています。「www.example.nl/domain.php?user=somename」のような Web サイトがあり、ユーザーが「somename.example.nl」と入力してそのページにアクセスする必要があります。私たちは何年にもわたって努力してきましたが、私たちが見つけた答えはどれもうまくいきません.

次のようなコードを試しました。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www\.)?example.nl$ [NC]
RewriteRule ^([^/]*)/?$ domain.php?user=$1 [NC,QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} ^/index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^(www|mail).example.nl$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+).example.nl$ [NC] 
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?$ domain.php?user=%2 [NC,QSA,L]

また、その前にこれを試しました:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+).example.nl$ [NC] 
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?$ domain.php?user=$1 [NC,QSA,L]

これが再投稿である場合は、申し訳ありませんが、私は何時間もこれに固執しており、明日が期限のプロジェクトに対する回答が本当に必要です.

お時間を割いていただきありがとうございます。

4

1 に答える 1

0

これを処理するには、コードと Web サーバーをセットアップするだけでなく、DNS 構成も必要です。すべてのサブドメインを同じ IP アドレスにリダイレクトするには、ワイルドカード マッチを使用する必要があります。

Web ブラウザで URL を開く方法は次のとおりです。

  1. Web ブラウザーは、最初に DNS ルックアップを実行してホスト名を変換する必要があります (この例でsomename.example.nlは、IP アドレスに
  2. Web ブラウザーは、入力された FQDN を含む要求 URL で検索した IP アドレスに HTTP 要求を送信します ( somename.example.nl) 。
  3. Web サーバーは、仮想ホストまたはその他の構成タイプを使用して、指定された FQDN の要求を処理する方法を決定します。

したがって、この名前somename.example.nlは DNS を介して解決できる必要があります。そうしないと、ユーザーのコンピューターは HTTP 要求をどこ (どの IP アドレス) に送信すればよいかわかりません。

于 2013-02-08T13:32:09.277 に答える