Я использую:
на моем сервере разработки. Мне удалось его получить, поэтому я могу указать обработчик, и он поместит этот vhost в правильную версию PHP, однако CSS и JS, похоже, работают неправильно.
Я получаю эту ошибку:
scriptname.js загружен даже хотя его тип MIME («text / html») не является допустимым типом MIME JavaScript
, что в конечном итоге приводит к фатальной ошибке. Поиск в Google привел меня к разным сообщениям, и я первым добавил следующее в свой httpd.conf
файл:
AddType text/css .css
AddType text/javascript .js
Но это не сработало.
Затем я добавил его в свой .htaccess, снова безуспешно.
Затем я нашел кое-что, что предлагало написать его примерно так:
AddType 'text/css; charset=UTF-8' .css
Это по большей части исправило CSS, но не .js
.
Как мне сделать так, чтобы все работало должным образом?
(примечание: дайте мне знать, какое содержимое файла добавить, и я соответствующим образом отредактирую вопрос)
У меня есть сообщения об ошибках до:
Ошибка загрузки для файла with source / путь / к / file.js
Добавив это в мой файл vhost:
<Files *.js
Header set Content-type "text/javascript"
</Files>
Похоже, переход к этому файлу показывает:
Доступ запрещен
права доступа к файлу для этого:
drwxr-xr-x 2 dev-admin dev-admin 42 Apr 4 11:37 ./
drwxr-xr-x 4 dev-admin dev-admin 27 Mar 12 17:21 ../
-rw-r--r-- 1 dev-admin dev-admin 86927 Mar 1 15:14 jquery.min.js
-rw-r--r-- 1 dev-admin dev-admin 5094 Apr 4 11:37 main.js
Заголовки в файле:
полный виртуальный хост:
<VirtualHost *:80>
ServerName site1.development
DocumentRoot /var/www/dev/site1
<Directory /var/www/dev/site1>
# removing this shows the MIME type errors from before
<Files *.css>
Header set Content-type "text/css"
</Files>
# removing this shows the MIME type errors from before
<Files *.js>
Header set Content-type "text/javascript"
</Files>
SetHandler "proxy:fcgi://127.0.0.1:9072"
AllowOverride all
Options Indexes FollowSymLinks
</Directory>
</VirtualHost>
Думаю, я вижу проблему. Ваш SetHandler
применяется ко всем возможным URL-адресам на виртуальном хосте, независимо от того, является ли он файлом PHP или нет. Таким образом, все передается в PHP, даже если это статический файл. И поскольку PHP интерпретирует статический файл как PHP, вы получите результат.
Вместо этого вы должны отправлять обработчику только запросы на файлы PHP, выбирая их по имени файла:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9072"
</FilesMatch>
Затем вы можете удалить ненужные избыточные
бит, которые вы добавили.
Ошибка 403 обычно возникает из-за ошибки разрешения. Это может быть либо каталог, либо уровень файлов.
В вашем случае, насколько я могу судить (только права доступа к файлу и корневому каталогу документа apache), с разрешениями все в порядке.
Не могли бы вы поделиться с нами разрешения каталогов родителей? (это может быть / var / www / dev / со слишком ограниченными разрешениями)
Если разрешения не позволяют «другое», 0755 должен это сделать ...
chmod 0755 /var/www/dev
Также / var / www / dev должен принадлежать "dev-admin". Если это не так, я бы предложил изменить владельца:
chown dev-admin: /var/www/dev
И @Michael Hampton прав. Никаких изменений не потребовалось (в конфигурации Apache CentOS 7 по умолчанию).
Ох! Просто чтобы убедиться, что мы охватываем все основы ... Является ли dev-admin пользователем Apache?
Если нет, вы можете либо изменить его в основной конфигурации Apache, либо изменив каталог dev (рекурсивно) с помощью правильный пользователь.