0

環境開発で複数のドメインを有効にしようとしていますが、以下で試した方法で成功していません。その時点で間違っていますか?


httpdをインストールし、httpd.confのDocumentRootを次のように変更しました。

C:/Webserver/www


* Windowsホストファイルを(斜体でアクセスしたい)に変更しました:127.0.0.1 api.rotadorock
に切り替えると、アドレスはwww /に解決されますが、右側はwww / rotadorock/apiです。

127.0.0.1                       localhost
127.0.0.1                       webserver
127.0.0.1/rotadorock/ecommerce  rotadorock
127.0.0.1/rotadorock/api        api.rotadorock
127.0.0.1/rotadorock/ecommerce  ecommerce.rotadorock
127.0.0.1/rotadorock/mobile     mobile.rotadorock
127.0.0.1/rotadorock/sistema    sistema.rotadorock
127.0.0.1/rotadorock/social     social.rotadorock

* Update(Windowsホストファイル)

@Volker Birkが言ったように、必要ないので、上記のhostsファイルの変更を削除しました。ただし、それでも、希望どおりにアクセスすることはできません(api.rotadorock/またはlocalhost/ api.rotadorock /であり、C:/ Webserver / www / rotadorock / apiを指す必要があります)。何が間違っている可能性がありますか?


そして最後にhttpd-vhost.confを次のように変更しました:

NameVirtualHost webserver:80

<Directory "C:/Webserver/www">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "c:/Webserver/www"
    ServerAlias localhost
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerName webserver
    DocumentRoot "c:/Webserver/www"
    ServerAlias webserver
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost rotadorock:80>
    ServerName rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/ecommerce"
    ServerAlias rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost api.rotadorock:80>
    ServerName api.rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/api"
    ServerAlias api.rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost ecommerce.rotadorock:80>
    ServerName ecommerce.rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/ecommerce"
    ServerAlias ecommerce.rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost mobile.rotadorock:80>
    ServerName mobile.rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/mobile"
    ServerAlias mobile.rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost sistema.rotadorock:80>
    ServerName sistema.rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/sistema"
    ServerAlias sistema.rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>

<VirtualHost social.rotadorock:80>
    ServerName social.rotadorock
    DocumentRoot "c:/Webserver/www/rotadorock/social"
    ServerAlias social.rotadorock
    ErrorLog "logs/httpd-error.log"
    CustomLog "logs/httpd-access.log" common
</VirtualHost>
4

2 に答える 2

1

hosts ファイルは必要ありません。ドキュメントをご覧ください:

http://httpd.apache.org/docs/2.2/en/vhosts/name-based.html

于 2013-02-16T20:05:13.763 に答える
0

最後に問題を解決しました。また、Windows ホスト ファイルと httpd-vhosts.conf httpd を一緒に使用することもできます。

複数のサブドメインがローカルにアクセスできるようにするために行われたことの例を挙げましょう。追加する Windows ホスト ファイルでは、ドメインとサブドメインごとに、次のようなものが必要です。

127.0.0.1    api.rotadorock #my subdomain
127.0.0.1    rotadorock #my domain

そして、httpd-vhosts Apache httpd:

# Accessing the API
<VirtualHost 127.0.0.1>
    DocumentRoot "C:/Webserver/www/rotadorock/api"
    ServerName api.rotadorock
    ServerAlias ​​api.rotadorock

    <Directory "C:/Webserver/www/rotadorock/api">
        All Options Includes Indexes
    </ Directory>
</VirtualHost>

# Accessing the domain
<VirtualHost 127.0.0.1>
    DocumentRoot "C:/Webserver/www/rotadorock/"
    ServerName rotadorock
    ServerAlias ​​*.rotadorock

    <Directory "C:/Webserver/www/rotadorock/">
        All Options Includes Indexes
    </Directory>
</VirtualHost>

そして、その方法で api.rotadorock/ と rotadorock/ にローカルでアクセスできました。hostsファイルなしであらゆる方法を試しました。でも使うしかない。ホストを使用する必要がないように、誰かが私にそれがどのように行われるべきかを説明できれば、私は感謝します.

于 2013-02-16T22:23:48.270 に答える