Apache › Установка на стороне сервера включает › OSX Snow Leopard › Все еще не работает

Я исследовал это около 2+ часов, включая 1+ час подготовки этого отчета (должно быть, я медленно работаю, учитывая, что я не спал 24 часа :-P)

Сторона виртуального сервера работает в Dreamweaver (за исключением рендеринга изображений), но не работает при просмотре веб-страницы.

<!--#include virtual="/partialHtml/businessResult.shtml" -->

Я понимаю, что я переопределил слишком много параметров конфигурации (и если есть более простой и элегантный способ, возможно, просто используя файл .htaccess в ~/Sites/mysite.com/, тогда, пожалуйста, также прокомментируйте) ;-)

Начиная сверху (1) sudo nano /etc/apache2/httpd.conf

#
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

(2) sudo nano /etc/apache2/extra/httpd-vhosts.conf

<VirtualHost *:80>
  <Directory /Users/tidy/Sites/mysite.com>
    Options +FollowSymlinks +SymLinksIfOwnerMatch +Includes
    DirectoryIndex index.htm
    AllowOverride All
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  </Directory>
  DocumentRoot /Users/tidy/Sites/mysite.com
  ServerName mysite.local
  ErrorLog "/Users/tidy/Sites/mysite.com/log/error_log"
  CustomLog "/Users/tidy/Sites/mysite.com/log/access_log" common
</VirtualHost>

(3) sudo nano /private/etc/apache2/users/tidy.conf

<Directory "/Users/tidy/Sites/">
  Options +Indexes +MultiViews +FollowSymlinks +SymLinksIfOwnerMatch +Includes
  AllowOverride All
  Order allow,deny
  Allow from all
  AddType text/html .shtml
  AddOutputFilter INCLUDES .shtml
</Directory>

(4) sudo nano ~/Sites/mysite.com/.htaccess

AddType text/html .shtml
AddHandler server-parsed .shtml
DirectoryIndex index.html index.htm
Options +Includes
XBitHack on

Я также пытался использовать XBitHack on, выполнив chmod +x ~/Sites/mysite.com/partialHtml/businessResult.html, а затем включив этот файл (очевидно, это делает .html на стороне файлового сервера эффективным, если вы не хотите использовать файлы .shtml)

Очевидно, я делаю sudo apachectl configtest, чтобы убедиться, что все в порядке.

Я получаю предупреждение (от которого я пытался избавиться), но синтаксис в порядке.

httpd: Could not reliably determine the server's fully qualified domain name, using complexity.local for ServerName
Syntax OK

Затем sudo apachectl restart

Вот мои последние действия в cat ~/Sites/mysite.com/log/access_log

::1 - - [08/Jan/2013:12:11:05 +0000] "OPTIONS * HTTP/1.0" 200 -
::1 - - [08/Jan/2013:12:11:07 +0000] "OPTIONS * HTTP/1.0" 200 -
::1 - - [08/Jan/2013:12:11:08 +0000] "OPTIONS * HTTP/1.0" 200 -
::1 - - [08/Jan/2013:12:11:15 +0000] "OPTIONS * HTTP/1.0" 200 -
::1 - - [08/Jan/2013:12:11:16 +0000] "OPTIONS * HTTP/1.0" 200 -
::1 - - [08/Jan/2013:12:11:17 +0000] "OPTIONS * HTTP/1.0" 200 -
127.0.0.1 - - [08/Jan/2013:12:12:03 +0000] "GET / HTTP/1.1" 200 3924
127.0.0.1 - - [08/Jan/2013:12:12:03 +0000] "GET /css/site.css HTTP/1.1" 200 3077
127.0.0.1 - - [08/Jan/2013:12:12:03 +0000] "GET /css/bootstrap.css HTTP/1.1" 200 124223
127.0.0.1 - - [08/Jan/2013:12:12:03 +0000] "GET /img/logo.png HTTP/1.1" 200 19217
127.0.0.1 - - [08/Jan/2013:12:12:04 +0000] "GET /img/searchFormGradient.gif HTTP/1.1" 200 501
127.0.0.1 - - [08/Jan/2013:12:12:04 +0000] "GET /img/glyphicons-halflings-white.png HTTP/1.1" 200 8777
127.0.0.1 - - [08/Jan/2013:12:12:04 +0000] "GET /img/headerGradient.png HTTP/1.1" 200 216
127.0.0.1 - - [08/Jan/2013:12:12:04 +0000] "GET /js/bootstrap.min.js HTTP/1.1" 200 31596
::1 - - [08/Jan/2013:12:12:14 +0000] "OPTIONS * HTTP/1.0" 200 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET / HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /css/bootstrap.css HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /js/bootstrap.min.js HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /img/logo.png HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /css/site.css HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /img/headerGradient.png HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /img/glyphicons-halflings-white.png HTTP/1.1" 304 -
127.0.0.1 - - [08/Jan/2013:12:12:18 +0000] "GET /img/searchFormGradient.gif HTTP/1.1" 304 -

Код HTTP/1.1 304 — это HTTP Error 304 - Not modified, что не является ошибкой, это сигнал от сервера к браузеру, что текущий контент не изменился с момента последнего запроса.

Как видно из GET запросов, нет никаких признаков /partialHtml/businessResult.shtml

Вот мои последние действия в cat ~/Sites/mysite.com/log/error_log

[Tue Jan 08 11:24:49 2013] [error] [client 127.0.0.1] File does not exist: /Users/tidy/Sites/mysite.com/favicon.ico

И после всего этого... механизм включения на стороне сервера не работает :-(

Любая помощь приветствуется.

Аккуратный.


person Dave Kirkby    schedule 08.01.2013    source источник


Ответы (1)


Думаю, у меня есть решение моей проблемы.

У меня была та же проблема с включениями на стороне сервера в Windows 7, потому что у меня сложилось ложное впечатление, что только включаемый файл должен иметь расширение .shtml.

Потому что строка: <!--#include file="partialHtml/businessResult.shtml" -->

Был в файле с именем: index.html

Модуль включения на стороне сервера не выполнял предварительную обработку файла.

После того, как я изменил index.html на index.shtml, модуль включения на стороне сервера правильно все обработал.

TL; DR. Файл, включающий серверную часть, должен иметь расширение .shtml.

person Dave Kirkby    schedule 12.01.2013