2015-04-16 1 views
2

Я только начал изучать php, и я пытаюсь разместить локально свой собственный php-сайт с помощью XAMPP.Apache virtual host 404 не найден

Я хотел создать виртуальный хост с:

URL: myphpwebsite.local

Порт: 8088

Но когда я попытался открыть этот сайт через браузер я получил:

Не найдено Ошибка HTTP 404. Запрашиваемый ресурс не найден.

Кто-нибудь знает, в чем проблема?

Мой HTTPD-vhosts.conf

NameVirtualHost 127.0.0.1:8088 
<VirtualHost 127.0.0.1:8088> 
    DocumentRoot "C:/xampp/htdocs" 
    ServerName localhost 
</VirtualHost> 

<VirtualHost myphpwebsite.local> 
    DocumentRoot "C:/Microsoft/Workspace/myphpwebsite" 
    ServerName myphpwebsite.local 
    ErrorLog "C:/Microsoft/Workspace/myphpwebsite/logs/myphpwebsite.local.error.log" 
    CustomLog "C:/Microsoft/Workspace/myphpwebsite/logs/myphpwebsite.local.custom.log" combined 

    <Directory "C:/Microsoft/Workspace/myphpwebsite"> 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 

И мой C: \ Windows \ System32 \ Drivers \ файл и т.д. \ хостов:

127.0.0.1  localhost 
127.0.0.1 myphpwebsite.local 

Любая помощь будет оценен по достоинству!

ответ

0

Директива NameVirtualHost должна точно соответствовать значению VirtualHost, и вам необходимо указать порт в каждом экземпляре. Если вы хотите использовать порт 8088 для myphpwebsite.local, вам нужно сделать:

NameVirtualHost 127.0.0.1:8088 
<VirtualHost 127.0.0.1:8088> 
    DocumentRoot "C:/xampp/htdocs" 
    ServerName localhost 
</VirtualHost> 

<VirtualHost 127.0.0.1:8088> 
    DocumentRoot "C:/Microsoft/Workspace/myphpwebsite" 
    ServerName myphpwebsite.local 
    ErrorLog "C:/Microsoft/Workspace/myphpwebsite/logs/myphpwebsite.local.error.log" 
    CustomLog "C:/Microsoft/Workspace/myphpwebsite/logs/myphpwebsite.local.custom.log" combined 

    <Directory "C:/Microsoft/Workspace/myphpwebsite"> 
    Order allow,deny 
    Allow from all 
    </Directory> 
</VirtualHost> 

Обратите внимание на VirtualHost открытия метки идентичны; это значение ServerName, которое фактически сообщает Apache, к какой области относится данная конкретная директива. Перезагрузите сервер после внесения изменений. Ознакомьтесь с этой страницей для получения дополнительной информации: http://httpd.apache.org/docs/2.2/vhosts/name-based.html

Надеюсь, это поможет!

+0

@Axvil Если это все еще не работает, убедитесь, что папка для вашего документа DocumentRoot существует и что 'Listen 8088' находится в вашем httpd.conf. Я сделал глупые ошибки. :) –

1

Я не знаю, насколько я могу помочь, но используя WAMP, вот мои настройки. Я слушаю порт 80, я использую 8080 для моего сервера tomcat.

файл хосты

127.0.0.1 local.mysite.com 

HTTPD-vhosts.conf

# 
# Use name-based virtual hosting. 
# 
NameVirtualHost *:80 

.... 

<Directory "c:/wamp/www"> 
    Options Indexes MultiViews FollowSymLinks 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 
</Directory> 
<VirtualHost *:80> 
    ServerName localhost 
    DocumentRoot "c:/wamp/www" 
</VirtualHost> 

<Directory "c:/wamp/www/path/to/site/root"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
    Order allow,deny 
    Allow from all 
</Directory> 
<VirtualHost *:80> 
    ServerName local.mysite.com 
    DocumentRoot "c:/wamp/www/path/to/site/root" 

    ServerAdmin [email protected] 

    ProxyPreserveHost Off 
    RewriteEngine On 
    AllowEncodedSlashes NoDecode 
    #AllowEncodedSlashes On 

    ErrorLog "c:/wamp/www/path/to/logs/error.log" 
    CustomLog "c:/wamp/www/path/to/logs/access.log" common 
</VirtualHost> 

.... 

Тогда я могу получить доступ к местному сайту, как это: http://local.mysite.com

Надеется, что это помогает ...

0
  1. убедитесь, что есть файл/Htaccess/индекс или что-то в директории, которую вы хотите открыть, 404 может исходит от этого;)

  2. попробуйте использовать один ниже, в конечном счете заменить порт:

    <VirtualHost *:80> 
        DocumentRoot "C:/Microsoft/Workspace/myphpwebsite" 
        ServerName myphpwebsite.local 
        </VirtualHost> 
    
  3. Вопрос в том, что ваш Apache работает/обслуживает порт 8088? Например, мой xamp работает на 80 и 443 ...

  4. Панель управления Xamp очень удобна, у нее есть хорошая кнопка журналов, которая откроет ваши файлы журналов, чтобы показать вам ошибки php и apache и т. Д. Проверьте это.

Попробуйте использовать порт по умолчанию, если он работает, это означает, что вам нужно играть с портами, если вы действительно этого хотите.

только быстрый совет .com короче, чем .local, и если вы используете хром, и он работает как мой, то в большинстве случаев something.local перенаправляет вас на поиск в google (и мне нравится мой поиск там, вы можете отключить его;))

 Смежные вопросы

  • Нет связанных вопросов^_^