17

私はこのような状況になりたい:

  1. ユーザーがこの URL :example.comまたはを使用して要求した場合、ユーザーはこのディレクトリwww.example.comに表示されますindex.php/home/admin1/public_html/

  2. ただし、ユーザーが他のサブドメイン (ワイルドカード) を使用して要求すると、たとえば : freediscount.example.com、ユーザーはindex.phpこのパスに表示されます:/home/admin1/public_html/userweb/freediscount.example.com

私のホスティングの技術サポートは、この方法を使用することを提案しています: http://www.wiredstudios.com/php-programming/setting-up-wildcard-dns-for-subdomains-on-cpanel.html

そのチュートリアルに基づいて、PHP には新しい仕事があります...ユーザーがサブドメインで要求したときに特定のフォルダーにリダイレクトすることです。私はこの方法が好きではありません。私にとっては、Apache がこれを処理できればよりよいでしょう。

私が必要とするものにほぼ近いのは、この方法です:ワイルドカードサブドメインと静的サブドメインの仮想ホスト

しかし、設定に問題があり、その状況で正しくVirtualHost作成するにはどうすればよいですか?VirtualHost

これが私がやったことですが、うまくいきませんでした:

## I think this one is for www or without www, automatically generated with WHM
<VirtualHost xx.xx.xx.xx:80> 
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/admin1/public_html
</VirtualHost>

## Here's what I'm trying to add
<VirtualHost xx.xx.xx.xx:80>
    ServerName example.com
    DocumentRoot /home/admin1/public_html/userweb/*
</VirtualHost>
4

2 に答える 2

9

これを試してください:

NameVirtualHost *:80

<VirtualHost *:80>
  DocumentRoot /home/admin1/public_html/
  ServerName www.example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /home/admin1/public_html/userweb/freediscount.example.com
  ServerName  other.example.com
  ServerAlias *.example.com
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /home/admin1/public_html/
  ServerName example.com
</VirtualHost>

仮想ホストの順序とその特異性が重要です。

于 2012-11-26T14:03:58.867 に答える