xampp включает не работает

Во-первых, как узнать, работает ли мой html-файл на локальном хосте в Xampp? Есть ли учебник о том, как управлять файлами/каталогами и заставить все это работать в htdocs? Есть ли хороший учебник по настройке включает?

Я хочу использовать «включает» в Xampp с моим html. Могу ли я использовать как html, так и php? Нужно ли ставить shtml? Могу ли я использовать shtml, html, htm и php? Должны ли они находиться в каталоге include, который является подкаталогом прямо в htdocs? Могу ли я ссылаться на включения в какой-либо другой подкаталог? На моем сайте будет более 100 страниц, и я пытаюсь проводить «эксперименты» с разными версиями, пока не буду доволен. Итак, у меня есть подкаталоги для различных выпадающих меню. К сожалению, я не могу заставить это работать в xampp. У меня возникли проблемы с отображением меню javascript из кнопок Vista, теперь, когда я переместил свой основной каталог для своего сайта в каталог htdocs.


person James Musser    schedule 23.11.2008    source источник


Ответы (5)


Поскольку XAMPP использует Apache, вам необходимо настроить его для разрешения SSI.

Чтобы разрешить SSI на вашем сервере, вы должны иметь следующую директиву либо в файле httpd.conf, либо в файле .htaccess:

Options +Includes

Это сообщает Apache, что вы хотите разрешить анализ файлов для директив SSI. Обратите внимание, что большинство конфигураций содержат несколько директив Options, которые могут переопределять друг друга. Вам, вероятно, потребуется применить параметры к конкретному каталогу, в котором вы хотите включить SSI, чтобы гарантировать, что он будет оцениваться последним.

Не каждый файл анализируется на наличие директив SSI. Вы должны указать Apache, какие файлы следует анализировать. Есть два способа сделать это. Вы можете указать Apache анализировать любой файл с определенным расширением, например .shtml, с помощью следующих директив:

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

Одним из недостатков этого подхода является то, что если вы хотите добавить директивы SSI к существующей странице, вам придется изменить имя этой страницы и все ссылки на эту страницу, чтобы присвоить ей расширение .shtml, чтобы эти директивы будут выполнены.

Другой метод — использовать директиву XBitHack:

XBitHack on

XBitHack говорит Apache анализировать файлы на наличие директив SSI, если в них установлен бит выполнения. Таким образом, чтобы добавить директивы SSI на существующую страницу, вместо того, чтобы менять имя файла, вам просто нужно сделать файл исполняемым с помощью chmod.

chmod +x pagename.html

Согласно учебнику Apache: введение в серверные включения

person jibiel    schedule 19.07.2012

Чтобы ответить на ваш первый вопрос, можете ли вы получить доступ к http://localhost/? Если это так, то xampp работает правильно, и вам больше ничего не нужно делать.

EDIT: Если вы хотите убедиться, что все работает правильно, поместите foo.html в каталог /xampp/htdocs, а затем откройте его в браузере по адресу http://localhost/foo.html. Если вы не можете получить эту страницу, значит, xampp по-прежнему работает неправильно.

Отвечая на ваш второй вопрос, все включения, будь то в HTML или в PHP, являются серверной частью. Если у вас правильно установлен xampp, вы можете сразу же начать работать с PHP и использовать функции включения в PHP (обратите внимание, что даже если страница содержит только HTML, если вы используете PHP, она все равно должна иметь расширение .php) .

Если вы предпочитаете использовать SSI на своих .html-страницах, то эта ссылка может предоставить некоторую помощь в настройке и отладке SSI в xampp.

Кроме того, если вы еще этого не сделали, я бы порекомендовал вам работать в Firefox с установленным Firebug. Firebug справится с большинством ваших задач по отладке JavaScript.

И последнее замечание: если вы переместили каталоги и тому подобное, первое, что я бы проверил, это атрибуты src в ваших тегах script.

person Noah Goodrich    schedule 23.11.2008
comment
Я могу получить доступ к localhost, но как мне запустить свой html на локальном хосте? Есть ли место, откуда мне нужно бежать? или как мне указать файлу открываться на локальном хосте? как я могу сказать, где файл работает? Спасибо! - person James Musser; 23.11.2008
comment
вы помещаете foobar.html в \xampp\htdocs .. и получаете его через localhost/foobar.html .. вы можно поместить папки под htdocs и т.д.. - person Scott Evernden; 23.11.2008

Я обнаружил, что для включения в XAMPP ваша страница с функцией включения должна иметь расширение «.shtml», а включенный файл имеет «.html». Большинству современных браузеров не требуется расширение shtml, но, похоже, XAMPP.

.js кажется таким же.

person Community    schedule 29.01.2009

Я столкнулся с той же проблемой, но я не смог понять, где именно мне нужно изменить и какие файлы. Поэтому, чтобы исправить это, выполните следующие шаги на сервере XAMPP Localhost.

  1. Перейти к вашей:

    c:/xampp/apache/conf/httpd.conf
    
  2. Ищи:

    AddType text/html .shtml
    
  3. Добавьте следующие две строки:

    AddType text/html .html
    AddOutputFilter INCLUDES .html
    
  4. Перейдите в Панель управления Xampp и остановите сеанс и перезапустите снова.

  5. Обновите страницу в браузере и посмотрите, виртуальные включения начнут работать.

person user1378423    schedule 07.07.2015

Возможно, вы захотите взглянуть на AMPstart вместо xampp-control. У него есть приятная возможность размещать папки сайта за пределами htdocs без возни с apache conf.

person Scott Evernden    schedule 23.11.2008
comment
Загрузил это, но файлы по-прежнему не работают на локальном хосте. Как запустить на локальном хосте? - person James Musser; 23.11.2008
comment
если localhost не дает вам страницу XAMPP, вы застряли на GO. Возможно, это проблема с брандмауэром XP? Вас должны были попросить разблокировать Apache... - person Scott Evernden; 23.11.2008
comment
См. мой комментарий выше под ответом № 1. Обычно вы помещаете свой html в \xampp\htdocs. вы можете использовать AMPstart, чтобы размещать вещи в других местах - person Scott Evernden; 23.11.2008