Lệnh 'VirtualDocumentRoot' không hợp lệ


13

Tôi không chắc tại sao tôi lại gặp lỗi sau khi apache được khởi động lại:

Invalid command 'VirtualDocumentRoot', perhaps misspelled or defined by a module not included in the server configuration Action 'start' failed.

Đoạn trích mà nó đề cập đến là đây:

<VirtualHost *:80>
        ServerAdmin help@mydomain.com
        VirtualDocumentRoot /local/www/staging/%1

        ServerAlias *.staging.mydomain.com
</VirtualHost>

Tôi cho rằng đó là một lỗi chính tả như đã nói, nhưng nó đã được sao chép trực tiếp từ một máy chủ khác của tôi. Nó hoạt động hoàn hảo ở đó. Có ý kiến ​​gì không?

Câu trả lời:


27

Tài liệu cho thấy rằng lệnh được cung cấp bởi mô-đun vhost_alias. Bạn nên đảm bảo rằng bạn có

LoadModule vhost_alias_module modules/mod_vhost_alias.so

chỉ thị cấu hình trong tệp cấu hình của máy chủ nơi nó không hoạt động.


12
Cảm ơn rât nhiều! Điều đó đã giúp tôi giải quyết nó. Mã bạn đã đăng không hoạt động trực tiếp, nhưng tôi đã tải mô-đun bằng cách sử dụng:a2enmod vhost_alias
andy

Tốt cho bạn, vì đã bắt đầu từ một gợi ý và đào sâu hơn - cách đó nằm ở sự xuất sắc!
MadHatter

3

Tôi đã có cùng một lỗi như Andy cung cấp, nhưng trong trường hợp của tôi, tình huống hơi khác một chút. Và từ câu trả lời của MadHatter, tôi có thể nghĩ ra vấn đề.

Máy chủ apache2 của tôi là một chút khác nhau. Nó có 2 thư mục là /etc/apache2/mods-available& /etc/apache2/mods-enabled. Trong thư mục, mods-availablebạn sẽ thấy một danh sách các tệp cấu hình mô-đun có thể tải, trong trường hợp này, tôi thấy một tệp có tên vhost_alias.loadcấu hình là

LoadModule vhost_alias_module /usr/lib/apache2/modules/mod_vhost_alias.so

Vì vậy, tôi đã sử dụng lệnh dưới đây để kích hoạt cấu hình này:

sudo a2enmod vhost_alias
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.