Tạo Vhost và chuyển tiếp tên miền phụ tới nó


8

Đạo sư của

Tôi có một tệp .htaccess đơn giản trong đó tôi chỉ chuyển hướng không www sang www cho ứng dụng web của mình. Bây giờ những gì tôi muốn làm là

  1. Tạo một vhost mới như http: //subdomain.mydomain.tld
  2. Tạo chuyển hướng cho bất kỳ ai đến tên miền phụ đó vào một thư mục trên ứng dụng của tôi như ứng dụng / webroot / tên miền phụ

.Htaccess hiện tại của tôi trông như thế này

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www\.mydomain\.tld [NC]
    RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301.L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app/webroot/$1 [QSA,L]
</IfModule>

Làm thế nào tôi sẽ đi về nó? Tôi có thể làm tất cả điều này trong tệp .htaccess của mình không hoặc tôi có cần phải làm phiền với GoDaddy không? Tôi thay vì không làm điều này trong ứng dụng, nếu điều đó có ý nghĩa.

Tôi đang chạy Ubuntu 10.04 + Apache 2.2.14-5

Cảm ơn

Câu trả lời:


18

Đây là những gì bạn cần đặt trong tệp .htaccess của bạn:

RewriteEngine on
# redirect mydomain.tld to www.mydomain.tld
RewriteCond %{HTTP_HOST} ^mydomain\.tld [NC]
RewriteRule ^(.*)$ http://www.mydomain.tld/$1 [R=301,L]

# default website
RewriteCond %{HTTP_HOST} ^www\.mydomain\.tld$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app/webroot/$1 [NC,QSA,L]

# subdomain to folder
RewriteCond %{HTTP_HOST} ^(sub|subfolder)\.domain\.com$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)/?$ http://www.domain.com/%1/$1 [NC,QSA,L]

Cảm ơn bạn, tôi có cần thiết lập một vhost trước cho tên miền phụ đó không?

Bạn luôn có thể là một vhost cho nó với cùng DocumentRoot như WWW nếu bạn muốn. Bạn cũng có thể thay đổi ServerAlias ​​của www vhost của mình để thêm nhiều tên miền, ví dụ: ServerAlias ​​domain.com www.domain.com sub.domain.com.

Xin lỗi, là một n00b với apache2. Vì vậy, 2 điều - 1. Tôi muốn chỉ cho phép một tên miền phụ cố định và không ([a-z0-9]) theo mã của bạn, tôi có nên thay đổi điều đó thành ^ (phụ) không? 2. Làm cách nào để thiết lập lại vhost (quá n00b cho bạn? Xin lỗi)?

1) xem câu trả lời cập nhật của tôi. 2) Bạn đã tạo một mục tên miền phụ? Bạn đã chỉ nó đến cùng một nơi với www?

1) Tôi đang nhìn chằm chằm vào nó & chưa thể tìm thấy một thay đổi nào cả, tôi có bị mất nghiêm trọng không? 2) Không có gì khác trong tệp .htaccess đó nhưng những gì tôi đã thể hiện.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.