Apache переписать правило заставляет скачать - PullRequest
2 голосов
/ 29 апреля 2009

Я пытаюсь портировать сайт PHP, разработанный другим программистом (которого больше нет), и у меня возникла проблема с правилами переписывания Apache, которые вызывают загрузку файла на целевом сервере. Я уверен, что это простая проблема, но у меня возникли трудности с поиском ответа. Я работаю на (выделенном) сервере Ubuntu со стандартной установкой Apache и PHP5 и портирую с общего сервера, где все работает нормально. Во время порта файлы сайта не были изменены.

Файл .htaccess содержит этот код (только)

# Use PHP5 as default
AddHandler application/x-httpd-php5 .php
Options -Indexes FollowSymlinks


RewriteEngine on
RewriteRule ^html/(.*)     /index.php?init=site\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9

RewriteRule ^mykart$         /index.php?admin=true
RewriteRule ^mykart/$       /index.php?admin=true
RewriteRule ^mykart/(.*)$   /index.php?init=admin\/$1\/$2\/$3\/$4\/$5\/$6\/$7\/$8\/$9&admin=true


Когда я пытаюсь открыть файл http://www.mysite.com/html/#home, браузер пытается загрузить (index.php) файл вместо его отображения с сообщением

"Вы выбрали Открыть [диалог показывает пустое место здесь]

, который является: application / x-httpd-php от.... «

Наверное, я что-то пропустил в конфигурации PHP или Apache, но что?

РЕДАКТИРОВАТЬ: Чтобы уточнить, сервер работает на Apache2 и имеет несколько работающих PHP-сайтов. Кроме того, если я удаляю файл .htaccess и запускаю простую страницу отображения phpinfo, все работает нормально, так что это не выполнение PHP, как показано.

Ответы [ 3 ]

3 голосов
/ 29 апреля 2009

Я полагаю, что MIME-тип application/x-httpd-php5 недопустим. Я попробовал это на своей локальной машине, и это вызвало то же поведение.

Вы пробовали application/x-httpd-php вместо?

0 голосов
/ 09 ноября 2017

У меня была похожая проблема. Браузер попытался загрузить ссылки с веб-сайта php, а не загружать их.

Для меня это не проблема интерпретатора Php, это неуместный файл .htaccess. Однако я не осознавал, что отключение файла htaccess решало проблему часами из-за кеша браузера.

Итак, не забудьте очистить кеш браузера ! И перезапустите Apache.

0 голосов
/ 29 апреля 2009

Похоже, проблема конфигурации Apache, конечно, я могу ошибаться. Вы проверили httpd.conf для следующих строк:

# Add index.php to your DirectoryIndex line:
DirectoryIndex index.html index.php

AddType text/html       php
...