Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: AddHandler+Action в .htaccess - ошибка 404 Not Found
 
 автор: qjmann   (25.07.2008 в 17:41)   письмо автору
 
 

Есть Linux Ubuntu 8.04 установленными Apache 2.2.8 и PHP 5.2.4 (в виде модуля к Apache). PHP5 работает нормально. Задача в том, чтобы одновременно с поддержкой PHP5 можно было запускать некоторые сайты на PHP4, и я пробовал решить эту задачу, следуя найденой статье Running both PHP4 and PHP5 (http://my.opera.com/zomg/blog/2007/08/12/running-both-php4-and-php5), установкой PHP4 как cgi-приложения. Установил php4-cgi, залил в папку /var/www/mysite файлы .htaccess и index.php.

.htaccess следующего содержания, для запуска моего index.php с помощью PHP4:

AddHandler php-script .php
Action php-script /usr/bin/php4-cgi


И заходя по адресу http://localhost/mysite/, вижу ошибку 404 Not Found: The requested URL /usr/bin/php4-cgi/mysite/index.php was not found on this server. В чём здесь проблема, помогите? Почти не разбираюсь в Apache и не понимаю, почему вместо выполнения программы php4-cgi происходит какое-то перенаправление. Нашёл в сети что-то о проблеме в Apache 2 со связкой AddHandler+Action, но не понял, как исправить мою ситуацию:(.

  Ответить  
 
 автор: Trianon   (26.07.2008 в 09:37)   письмо автору
 
   для: qjmann   (25.07.2008 в 17:41)
 

По моему не хватает
<Directory "/usr/bin"> 
  Options ExecCGI 
</Directory>

  Ответить  
 
 автор: qjmann   (26.07.2008 в 13:16)   письмо автору
 
   для: Trianon   (26.07.2008 в 09:37)
 

Не совсем то, но похоже. После долгих поисков и проб всё-таки нашёл в чём проблема. Во-первых, вместо /usr/bin/php4-cgi надо /usr/lib/cgi-bin/php4. Во-вторых, если этот путь вставить прямо в .htaccess, ничего хорошего не получится... Надо в конфиг апача добавить строку:

ScriptAlias /php4-cgi "/usr/lib/cgi-bin/php4"

И в .htaccess - ссылку не на cgi-файл, а на его alias:

AddHandler php-script .php
Action php-script /php4-cgi

После этого всё заработало как надо:)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования