Почему изъятие index.php из адресов страниц приводит к сбою «страница не найдена»? (повтор 2)

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 15:46

Добрый день! НЕ один из методов мне не помог.
я сделал следующее:
сделал как написано тут http://magento-forum.ru/topic/175/
вообщем вот что я написал в .htaccess


############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php\ HTTP/ [NC]
RewriteRule ^.*$ http://ranestore.com/%1 [R=301,L]

RewriteCond %{HTTPS} =on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php\ HTTP/ [NC]
RewriteRule ^.*$ https://ranestore.com/%1 [R=301,L]

############################################
## you can put here your magento root folder
## path relative to web root

RewriteBase /
сразу говорю что папка у меня не называется magento.
Само собой я включил rewrite в админке.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.01.2012 15:48

Прикрепите сюда снимок вашего административного экрана System -> Configuration -> Web -> Search Engine Optimization.

#3 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 18:34

Вот!Прикрепленное изображение: yes.jpg

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.01.2012 18:39

И в чём теперь заключается ваша проблема?

#5 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 18:45

Когда я пытаюсь открыть страницу он пишет мне вот это!
The requested URL /dkya-di-djeev.html was not found on this server.

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.01.2012 18:48

Остаётся ли проблема, если файл .htaccess восстановить до эталонного вида дистрибутива?

#7 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 18:52

Вы имеете ввиду как был файл изначально? Да.

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.01.2012 18:54

Значит, проблема - в нестройках вашего сервера.
Наиболее вероятная причнаи - неработоспособность модуля Apache mod_rewrite.
Могут быть и другие причины.
Обратитесь к специалисту - он настроит вам сервер.

#9 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 19:02

RewriteBase /magento

у меня стоит вот так RewriteBase /

Это никак ни на что не влияет?
Просто название папки как я уже говорил не magento.

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.01.2012 19:06

Вы явно что-то не то говорите.
В эталонном файле .htaccess, который я просил восставить, команда RewriteBase отключена.

#11 alex_magento
  • Группа: Пользователь
  • Сообщений: 60
  • Регистрация: 09.01.2012

09.01.2012 19:19

Да верно. Я просто подумал что это тоже может быть както влияет.

#12 Dima
  • ворует чужие книги и выдаёт за свои
  • Группа: Заблокирован
  • Сообщений: 128
  • Регистрация: 05.04.2011

09.01.2012 23:53

Убери скрипт который прописал, и просто переставь решетку сверху в низ в файле .htaccess в директории своего сайта.
смотри пост 11 удали кеш все папки из \var\cache
и все па лучится. :rolleyes:

#13 Лагунов
  • Группа: Пользователь
  • Сообщений: 1
  • Регистрация: 17.07.2012

17.07.2012 18:39

Не все так просто.

Если все что вы сделали выше вам не помогло, значит скорее всего вы пользуетесь последними версиями Magento (начиная с 1.7.0.*) и на вашем хостинге стоят не последние версии Apache. В последних версиях Apache (могу ошибиться, но вроде начиная с версии 2.0) появляется возможность использовать флаги редиректа (RewriteRule [R]) с кодами "4**", и в частности 405 код. Именно этот код используется в файле .htaccess для редиректа в целях безопасности, и именно этот код не понимает ваш сервер Apache в результате чего и выдает 500 ошибку. Выход следующий:

1) Обновите сервер Apache до одной из последних версий (Сделайте запрос хостингу).

2) Если это не помогло, то в директории, в которой у вас лежит файл index.php находим файл .htaccess и ищем в нем следующие строки:
############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks

    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
    RewriteRule .* - [L,R=405]

############################################

Комментируем обе строчки:
############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks

#    RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
#    RewriteRule .* - [L,R=405]

############################################


3) После обновления версии сервера Apache не забудьте вернуть все как было, хоть это и не обязательно.

Поделиться темой: