.htaccess, поддомен

Рейтинг: 0Ответов: 1Опубликовано: 05.01.2015
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

Этот код великолепно работает, пока использую на сайте domain.com, но когда его же использую на tests.domain.com, то он пишет ошибку 404, я так предполагаю, что ошибка в %{REQUEST_FILENAME}, подскажите, если знаете, как исправить! При этом tests.domain.com/test1.php - заходит, а на tests.domain.com/test1 - нет. На domain.com все работало и работает до сих пор без проблем, я так предполагаю мне либо в техподдержку хостера писать либо делать все без поддоменнов

Ответы

▲ 2

Строкой

RewriteCond %{REQUEST_FILENAME}\.php !-f

вы ставите условие, что на сервере не найдется файла test1.php, когда вводите адрес tests.domain.com/test1. Но файл tests.domain.com/test1.php, судя по описанию задачи, существует. Следовательно, строка

RewriteRule ^(.*)$ $1.php

не выполняется.
Пройдя все строки htaccess без переходов, сервер хочет найти файл с именем test1, без расширения. Не находит его и отдает 404 ошибку. Возможно, на главном домене у вас иная структура директорий.