2012-07-17 4 views
12

私の/var/wwwには、多数のサイト(goodsite、badsite、uglysite)があります。現在、彼らはmydomain.com/goodsiteなどでアクセスしています。Apacheの単一のサブドメインをフォルダに保存

具体的には、uglysiteの1つのサイトに対して、uglysite.mydomain.comがアクセスしたいのですが、残りはそのままです。

私はthe.htaccess(/var/www)を使っていろいろな方法で試してみました。メモmod-rewriteを有効にし、mod仮想ホストを有効にしました。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^uglysite\.mydomain\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/uglysite/ 
RewriteRule ^(.*)$ /uglysite/$1 [L] 

何が起こって終わることの両方mydomain.comとuglysite.mydomain.comはいつも同じこと/var/wwwですなわち、インデックス)にマッピングということです。新しい仮想ホストを追加しようとしましたが、uglysite.mydomain.comが正しくマップされていることに驚きましたが、mydomain.comもuglysiteに直接マップされていました。

<Virtualhost uglysite.mydomain.com:80> 
     ServerName uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

上記は私のサイト対応/ 000デフォルトファイルに追加されました。これにより、uglysite.mydomain.comが正しく動作するようになりましたが、mydomain.comは同じものにマップされました!

私がやろうとしていることを簡単に行う方法はありますか?前もって感謝します。

答えて

15

あなたは/、000 - デフォルトのファイルのコピーを取るあなたがそこまで行ったとしてサブドメインを変更し、にディレクトリを変更し、第二のファイルにuglysiteを作る代わりに、だから、000-デフォルト

を変更する必要がありますパス/に/サイト

000デフォルト:

<Virtualhost *:80> 
     ServerName mydomain.com 
     ServerAdmin [email protected] 
     ServerAlias mydomain.com 
     DocumentRoot "/var/www/goodsite" 
     AccessFileName .htaccess 
     <Directory "/var/www/goodiste"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

uglysite:

あなたのサイトは、独自のIPを指しているので、80:へ*設定仮想ホスト:0
<Virtualhost *:80> 
     ServerName uglysite.mydomain.com 
     ServerAlias uglysite.mydomain.com 
     ServerAdmin [email protected] 
     DocumentRoot "/var/www/uglysite" 
     AccessFileName .htaccess 
     <Directory "/var/www/uglysite"> 
       Order allow,deny 
       Allow from All 
       AllowOverride All 
     </Directory> 
</VirtualHost> 

はまた、上記のサンプルでは、​​私はあなたがファイルを

EDITから提供するディレクトリを指すようにDocumentRootを変更したことに注意してくださいとにかく

+0

ありがとう、私は今これを試してみます。 –

+0

このファイルを/ etc/apache2/sites-available-btwに作成し、symlink( 'ln -s sites-available/uglysite sites-enabled/uglysite')をサイトに有効にする必要があります – arcyqwerty

+0

明示的にどこにでも含める必要がありますか? –