Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Из за .htaccess не работает PHP (http://forum.sape.ru/showthread.php?t=25039)

Kruzenshtern 12.01.2009 00:25

Из за .htaccess не работает PHP
 
Уважаемые коллеги. Может кто подскажет.

Есть сайт на линукс хостинге.

Как пример сайт на домейне третьего уровня aaa.site.com и вот этот сайт переезжает на новый собственный домейн new.com (на том же хостинге)

Далее решил сделать 301 редирект. В старом сайте aaa.site.com прописал файл index.php

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://new.com");
die();
?>

Всё заработало. То есть при обращении к aaa.site.com попадали на new.com

Далее, на старый сайт ведёт много бэков на кучу внутренних страниц, и чтобы их не потерять я решил перенаправить прописав в .htaccess следующий код

ErrorDocument 404 /index.php
AddHandler application/x-httpd-php .php .html
DirectoryIndex index.php

то есть вместо ошибки 404 попадать на index c редиректом.

Когда то я так сделал на других сайтах и такой вариант у меня работает по сей день, но там два сайта оба второго уровня домейны и на разных хостингах (не знают имеет ли это отношение)

А здесь как только прописал .htacceess - PHP вообще перестаёт работать. То есть наличие .htacceess убивает обработку страниц через PHP (если посмотреть через браузер view source - то виден PHP код)

Как только .httaccess стирал всё работало. Ради эксперимента оставил .httaccess пустым - то же - PHP работает.

Собственно вопрос, есть ли у вас идеи, почему в данном конкретном случае .httaccess блокирует работу PHP (повторюсь, на другом сайте это прекрасно работает)

Заранее спасибо!

DNA 12.01.2009 00:35

AddHandler application/x-httpd-php .php .html

Попробуйте заменить на - AddHandler application/x-httpd-php5 .php .html
или, если php 4 - AddHandler application/x-httpd-php4 .php .html

и поставить первой.

или убрать

---

Если вам дорог яндекс, сначала дождитесь склейщика, а потом ставьте редирект.

Kruzenshtern 12.01.2009 00:51

Не помогло. Оставил только одну строчку

ErrorDocument 404 /index.php

Всё равно PHP перестаёт работать

Taldyk 12.01.2009 00:57

Цитата:

Сообщение от Kruzenshtern (Сообщение 354348)
Как только .httaccess стирал всё работало. Ради эксперимента оставил .httaccess пустым - то же - PHP работает.

опечатка или? .htaccess вроде как правильней

DNA 12.01.2009 01:05

Цитата:

Сообщение от Taldyk (Сообщение 354375)
опечатка или? .htaccess вроде как правильней

вроде как правильней :D

Kruzenshtern 12.01.2009 01:56

с одной t

В общем, не работает собака...

Добавлено через 43 минуты
Не знаю, что произошло, но если оставить только один редирект
ErrorDocument 404 /index.php

то всё работает, осталось только понять, почему добавление
AddHandler application/x-httpd-php .php .html
вырубает PHP

На серваке версия 4.4.9
AddHandler application/x-httpd-php4 .php .html
так же вырубает PHP

Во таки мои проблемы...

zhegloff 12.01.2009 02:05

Как то бестолково вы сделали.

А почему редирект на ту же страницу на новом домене сделать нельзя? Или структура сайта поменялась при переезде?

Kruzenshtern 12.01.2009 02:24

Да поменялась полностью. Там были файлы .html .pdf и всё это абы как. Новый сайт на вордпрессе.

Поэтому и хотелось, чтобы он html обрабатывал как php.

То есть была страница на которую в интернете много бэков стоит

_http://aaa.site.com/kolobok.html

а теперь это

_http://new.com/skazki/kolobok/

Поэтому была идея по старому адресу в теле файла
_http://aaa.site.com/kolobok.html
прописать вот так

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://new.com/skazki/kolobok/");
die();
?>

А для этого надо, чтобы он PHP код в HTML файле обработал, а для этого надо чтобы была вот такая строка в .htaccess

AddHandler application/x-httpd-php .php .html

Но как только я эту строку добавляю PHP перестаёт работать.

-------

То есть идея такая

Если идут на старый сайт на морду - переходят на новую морду
Если идут на некоторые особо ценные страниц на старом сайте - переходят на эти же страницы на новом сайте.
Если идут на все остальные не ценные страницы на старом сайте, они не находятся и редиректом 404 на старую морду и оттуда на морду нового сайта.

Вот такая схема, которая работала прекрасно на двух сайтах домейнах второго уровня на разных хостингах, а тут что-то не работает

zhegloff 12.01.2009 02:34

а

Код HTML:

Redirect permanent kolobok.html http://new.com/skazki/kolobok/
не лечит? :)

Kruzenshtern 12.01.2009 02:40

Возможно и будет лечить, но я хотел сделать универсальный, так как большинство ценных линков всётаки идёт на PDF файлы. И вот если бы заставить читать PDF как PHP вот такой командой

AddHandler application/x-httpd-php .php .html .pdf

и вместо реальных PDF прописать файлы с таким же именем и расширением но внутри PHP код редиректа... Вот что было бы особо ценно.

И ещё, спасибо за внимание к этой теме и за советы...


Часовой пояс GMT +3, время: 02:41.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.