LINUX.ORG.RU

Выполнение php в html

 , ,


0

1

Вообщем, проблема такая же, как описано тут http://stackoverflow.com/questions/7127156/problem-with-htaccess-file-and-han...
надо выполнять php код в файлах с расширением .html
php работает не как модуль апача, а через php-cgi
пробую различные решения:

AddType application/x-httpd-php5 .php .html
браузер при открытии страницы предлагает загрузить ее как файл
AddType application/x-httpd-php .php .htm .html
никакого эффекта
AddHandler php-cgi .php .html

The requested URL /php-bin/php/index.html was not found on this server.

при попытке открыть index.html
подскажите рабочее решение.
спасибо

добавление: оказывается, если добавить

RemoveHandler .html .htm
AddHandler php-cgi .php .html
то предыдущей ошибки не возникает, но php скрипты с расширением .php перестают работать, а в html вообще не выполняются

★★☆☆

Последнее исправление: xtraeft (всего исправлений: 3)

Ответ на: комментарий от AnDoR

File does not exist: /path/domain.tld/php-bin

может ему путь указать к бинарнику php-cgi в .htaccess еще надо?

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от VirRaa

php скрипты выполняются во всех случаях, кроме последнего

AddHandler php-cgi .php .html
The requested URL /php-bin/php/script.php was not found on this server.

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от drBatty

не надо

С одной стороны ты прав - не надо. С другой - может быть наоборот - в этом и уловка и надо. Если конечно же ТС надо что бы html был в адресной строке просто - то не надо абсолютно.

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

по умолчанию пустой, все 3 опробованных варианта через него проверял.
.htaccess точно обрабатывается, если что.

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от Suntechnic

Если конечно же ТС надо что бы html был в адресной строке просто - то не надо абсолютно.

mod_rewrite там не нужен, нужно именно то, что я описал в заголовке. там одна статика с редкими инклюдами пхп-кода

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от infiltr

просто интересно чем не устраивает .php на конце файла

если бы весь контент был .php, то я бы не задавал этот вопрос

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от Deleted

я бы хотел решить вопрос, заданный первоначально.
по идее, это должно быть тривиальной задачей, но в случае с php-cgi всплыли какие то грабли

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от GateKeeper

у файлов расширение html, и его нельзя менять.
можно конечно переименовать все, а потом mod_rewrite менять, но это костыль же

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от xtraeft

Хорошо. Что тогда в httpd.conf?

<Directory "/var/www/">
    AddHandler cgi-script .html
    Options +ExecCGI
    Order allow,deny
    Allow from all
</Directory>
Как-то так должно быть.

Suntechnic ★★★★★
()
Ответ на: комментарий от drBatty

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

Оно вишь как выходит - ТС не хочет нагружать апач реврайтом, а у него полностью статический сайт - может там какая-нибудь визитка на которую курс валют прилепить надо.

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

ТС не хочет нагружать апач реврайтом, а у него полностью статический сайт

именно, тем более страниц там много

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от mopsene

Объясни почему, мне кажется ты что-то не так делаешь.

Да ладно - у меня такие случаи сплошь и рядом. То заказчику html нужен на конце, то вообще htm (не понятно с какого перепугу, когда по этому пути самый простой скрипт лежит) и т.п. А реврайта он не хочет.

Suntechnic ★★★★★
()
Ответ на: комментарий от mopsene

разве для этих целей не существует .htaccess, в котором можно переопределять некоторые параметры?

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от mopsene

не найдешь

-rw-r-----  1 root root 630544 Jan 14 17:50 apache2.conf

xtraeft ★★☆☆
() автор топика
Ответ на: комментарий от xtraeft

Вот ты можешь и приплыть... Я на такие грабли наступал - не возможности выполнять в cgi ничего у чего расширение не cgi и все - до свидания - пофиг что там ты в htaccess напишешь.

Suntechnic ★★★★★
()
Ответ на: комментарий от xtraeft

Да, был не прав, нагуглил:

Выполнять код PHP в файлах HTML

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Добавив эти строки в .htaccess вы дадите директиву серверу выполнять инструкции PHP не только в файлах с расширением *.php и *.phtml, но и в файлах с расширением *.htm и *.html.

mopsene ★★★
()
Ответ на: комментарий от Suntechnic

ага, видимо это как раз тот случай.
ладно, придется потом к себе переносить

xtraeft ★★☆☆
() автор топика

А не проще поднять на локалхосте и заюзать dyndns или что-то подобное? Все равно потом переносить.

mopsene ★★★
()
Последнее исправление: mopsene (всего исправлений: 1)
Ответ на: комментарий от mopsene

Internal Server Error

[Mon Jan 14 18:22:47 2013] [error]  suexec policy violation: see suexec log for more details
[Mon Jan 14 18:22:47 2013] [error]  Premature end of script headers: index.html

xtraeft ★★☆☆
() автор топика

Попробуй еще, в последнем методе добавить:
Action php-cgi /cgi-bin/phpini.cgi

Если пофиксится ошибка в плане:

php скрипты с расширением .php перестают работать

То будем думать в эту сторону.

mopsene ★★★
()
Ответ на: комментарий от Suntechnic

Оно вишь как выходит - ТС не хочет нагружать апач реврайтом, а у него полностью статический сайт - может там какая-нибудь визитка

на которую курс валют прилепить надо.

первая цитата противоречит второй. либо трусы, либо крестик. Либо сделать файл «курс_валют.php»

drBatty ★★
()
Ответ на: комментарий от drBatty

Не - я помню что делал так, что запускались в cgi только файлы которые имели X в правах. Причем пофиг на расширение и все остальное. Но повторюсь - возможно это был gatling, а не апач.

Suntechnic ★★★★★
()
Ответ на: комментарий от xtraeft

а для обычного .php говорит 400 bad request

[Mon Jan 14 19:00:42 2013] [error] Invalid URI in request GET /script.php HTTP/1.0

xtraeft ★★☆☆
() автор топика

А будут говорить, что во всём виноват php

r_asian ★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.