2014-12-09 1 views
0

первое сообщение на stackoverflow!WAMP относительные URL-адреса, находящиеся в подпапках, проблема с настройками виртуальных хостов?

Был в этом часом и не мог понять это.

Wamp установлен на C: \ wamp, сайт находится на C: \ wamp \ www \ groovysite.net и отображается в моем браузере на localhost/groovysite.net.

Существует подпапка groovysite.net/subfolder. Проблема в том, что все относительные URL-адреса на страницах, содержащихся во вложенной папке, добавляют подпапку в URL-адрес сразу после корневой папки.

Например, две таблицы стилей живут в

C:/wamp/www/groovysite.net/stylesheets/app.css 
C:/wamp/www/groovysite.net/style.css 

В голове моего сайта является

<link rel="stylesheet" href="stylesheets/app.css" /> 
<link rel="stylesheet" href="style.css"> 

На hompepage groovysite.net/index.html пути URL являются

localhost/groovysite.net/stylesheets/app.css 
localhost/groovysite.net/style.css 

поэтому они работают. Но на вложенной папке/page.html пути являются

localhost/groovysite.net/subfolder/stylesheets/app.css 
localhost/groovysite.net/subfolder/style.css 

так кажется, что WAMP торчит путь подпапки на относительных URL-адресов.

Я прочитал, что настройка виртуальных хостов направляет WAMP, чтобы найти правильный корень документа для каждого виртуального хоста, и это избавит вас от этой проблемы. С этой целью это моя текущая конфигурация на апача 2.4.9:

файла Hosts:

127.0.0.1 localhost 
::1 localhost 

127.0.0.1 groovysite.net 
::1 groovysite.net 

httpd.conf виртуальных хостов линия раскомментирована

HTTPD-vhosts.conf

<VirtualHost *:80> 
    DocumentRoot "c:/wamp/www" 
    ServerName localhost 
    ServerAlias localhost 
    ErrorLog "logs/localhost-error.log" 
    CustomLog "logs/localhost-access.log" common 
    <Directory "c:/wamp/www"> 
     AllowOverride All 
     Options Indexes FollowSymLinks 
     Require local 
    </Directory> 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "c:\wamp\www\groovysite.net" 
    ServerName groovysite.net 
    ServerAlias www.groovysite.net 
    ErrorLog "logs/groovysite.net-error.log" 
    CustomLog "logs/groovysite.net-access.log" common 
    <Directory "c:/wamp/www/groovysite.net"> 
     AllowOverride All 
     Options Indexes FollowSymLinks 
     Require local 
    </Directory> 
</VirtualHost> 

Код был взят из ответа RiggsFolly here.

Полностью тупик ... любая помощь будет принята с благодарностью!

+1

Это не имеет никакого отношения к wamp, это именно то, как должны относиться относительные ссылки ... Корни их в нужное место, и ваша проблема должна исчезнуть. – arco444

ответ

1

Несколько предложений

Эта линия

DocumentRoot "c:\wamp\www\groovysite.net" 

Должно быть

DocumentRoot "c:/wamp/www/groovysite.net" 

Сво не решение, но вы должны использовать Unix Seperator и не дос сепаратора обеспечивают.

Самое главное, что вы должны запускать сайт с использованием имени домена, созданного в определении виртуального хоста i.e.

http://groovysite.net 
or 
http://www.groovysite.net` 

и НЕ

`http://localhost/groovysite.net` 

Вот весь смысл создания виртуального хоста! Если вы этого не сделаете, то Apache не будет определять определение виртуального хоста и не будет использовать правильный DocumentRoot, следовательно, неправильные дополнения к вашим ссылкам.

Также this post is probably more complete, проверьте нижнюю часть раздела, озаглавленного . Как включить это другое меню «Мои виртуальные хосты»?

Также убедитесь, что вы не следовали какой-либо совет, который предложил изменить \wamp\www\index.php внести изменения в строку

$suppress_localhost = false; 

Если оставить это как

$suppress_localhost = true; 

Тогда с вашей Виртуальные хосты определили проект ссылки на домашней странице WAMPServer должны правильно запустить ваш виртуальный хост, а не добавлять localhost к началу URL-адреса.

+0

Нужно отметить unix против dos. – woodwork3r

+0

Проверено index.php, и это не редактируется. Читая мой вопрос, я понимаю, что я не упомянул, что переход на http://groovysite.net в браузере в настоящее время ставит меня на домашнюю страницу wampserver. groovysite.net указан в проектах с другими папками в каталоге c:/wamp/www, но я не могу попасть на индексную страницу папки, щелкнув ссылку на главной странице wamp или набрав http://groovysite.net. Мне нужно набрать localhost/groovysite.net, чтобы увидеть страницу индекса. Довольно точно, что это не так, как это должно работать, поэтому я чувствую, что это как-то связано с настройкой виртуального хоста. – woodwork3r

+0

Вы изменили DocumentRoot, как указано в моем ответе? – RiggsFolly

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