Изменения htaccess работают на некоторых страницах, но не на других? - PullRequest
1 голос
/ 29 марта 2012

Я пытался выполнить код php в документе с расширением .htm или .html.Наконец-то я заработал, используя:

Приложение AddType / x-httpd-php .php .html .htm

Теперь я могу выполнять php в документах .htm., работает, только если я перехожу непосредственно на страницу .htm, например: http://www.foobar.com/layout.htm

Однако, это не работает, если я перехожу на страницу index.php, которая использует этот макет.htm page ...

Это пример того, как выглядит URL страницы индекса: http://www.foobar.com/index.php

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Ваше правило .htaccess не применяется для включенных файлов в php.

Проверяли ли вы эту страницу: http://php.net/manual/en/function.include.php

Когда файл включен, анализ выпадает из режима PHP ив режиме HTML в начале целевого файла и возобновляет работу в конце.По этой причине любой код внутри целевого файла, который должен выполняться как код PHP, должен быть заключен в допустимые начальные и конечные теги PHP.

1 голос
/ 29 марта 2012

Если вы используете что-то вроде include в своем php-файле для включения html-файла, ваши правила .htaccess не будут влиять на включаемый файл.

Только .htaccess правилавыполняются по запросам, направленным на веб-сервер apache, и когда вы включаете локальный файл в php, вы просто запрашиваете файл в локальной файловой системе;вы не запрашиваете его через apache.

Редактировать: Исходя из комментария под вашим вопросом, также возможно, что вы используете что-то вроде readfile для получения содержимого htmфайл.Если это так, вам нужно изменить это значение на include, чтобы php был запущен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...