2012-07-17 14 views
12

Trong số /var/www Tôi có một số trang web (site tốt, site xấu, trang web xấu xí). Ngay bây giờ, chúng được truy cập bởi mydomain.com/goodsite, v.v.apache bản đồ duy nhất tên miền phụ vào thư mục

Điều tôi muốn là cho một trang web ở một vị trí đặc biệt, xấu xí, được truy cập bởi uglysite.mydomain.com - những thứ khác vẫn còn nguyên như chúng.

Tôi đã thử tất cả các cách không quan trọng với the.htaccess (trong /var/www). Lưu ý tôi đã bật chế độ ghi đè và mod vhost-alias.

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

gì kết thúc xảy ra là cả mydomain.com và uglysite.mydomain.com luôn bản đồ để điều tương tự (ví dụ, chỉ số tại /var/www). Tôi đã thử thêm vào một máy chủ ảo mới và ngạc nhiên khi thấy rằng uglysite.mydomain.com đã ánh xạ chính xác, nhưng sau đó mydomain.com cũng ánh xạ trực tiếp tới 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> 

Ở trên đã được thêm vào tệp được kích hoạt/000-mặc định của trang web của tôi. Điều này đã uglysite.mydomain.com hoạt động đúng, nhưng sau đó mydomain.com ánh xạ tới cùng một thứ!

Có cách nào đơn giản để làm những gì tôi định làm không ?? Cảm ơn trước.

Trả lời

15

Bạn nên làm uglysite vào một tập tin thứ hai thay vì sửa đổi 000-default

Vì vậy, có một bản sao của tập tin 000-mặc định, thay đổi tên miền phụ như bạn đã làm lên đó và sửa đổi các thư mục để/path/to/trang web

000-default:

<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:

<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> 

Cũng lưu ý rằng trong các mẫu ở trên, tôi đã sửa đổi DocumentRoot để trỏ đến thư mục mà bạn muốn tập tin phục vụ từ

EDIT: VirtualHosts thiết lập để *: 80 kể từ khi trang web của bạn trỏ đến ip của riêng bạn anyway

+0

Cảm ơn bạn tôi sẽ thử điều này ngay bây giờ. –

+0

Bạn nên tạo tệp này trong/etc/apache2/site-btw có sẵn và liên kết tượng trưng ('ln -s sites-available/uglysite sites-enabled/uglysite') vào trang web kích hoạt – arcyqwerty

+0

Tôi có cần bao gồm nó một cách rõ ràng ở bất kỳ đâu ? –

Các vấn đề liên quan