0

私はウェブサイト www(dot)shoppingmart(dot)com に取り組んでいます。基本的には分類されたウェブサイトです。現在直面している問題を解決する必要があります。私は多くの時間を費やしましたが、解決できませんでした。達成しようとしています。

ユーザーが newyork.example.com または ohio.example.com にアクセスした場合

これらの両方の都市が同じウェブサイトを指しているということは、www.example.com を意味します。

ただし、都市に関連するコンテンツを表示します (OLX Done など)

ワイルドカード ドメイン *.example.com を作成しました レコードを使用して、2 つのサブドメインも作成します

newyork.example.com and 

ohio.example.com 

トラフィックを index.php にリダイレクトする .htaccess も作成します。

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

次に解析する

$_SERVER['HTTP_HOST'] to obtain subdomain 

しかし、newyork.example.comと入力すると、500内部エラーが表示されます

この問題を解決できないアイデアを助けて共有してください

よろしくお願いします

4

1 に答える 1

0

特定のドメインからすべてのサブドメインを受け入れるには、ワイルドカードを使用して仮想ホストを作成する必要があります。

これは、基本的に必要なことを行う、私が作成したシステムの構成サンプルです。

NameVirtualHost *:80
<VirtualHost *:80>
     DocumentRoot /www/your_site
     ServerName example.com
     ServerAlias *.example.com
</VirtualHost>

これにより、Apache は特定のドメインのすべてのサブドメイン (エイリアス) を受け取るようになります。

最初に書き換えルールなしでこのアプローチを試し、ワイルドカードが機能した後にのみルールを挿入する必要があります。

編集:

サブドメインでのアセット パスの変更に関しては、書き換えルールがドキュメント ルートの index.php を指す必要があります。

RewriteRule . %{DOCUMENT_ROOT}/index.php [L]
于 2013-10-27T19:42:33.160 に答える