- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В корне сайта есть index.php, на него должны идти все запросы. Далее он обрабатывает и выдает нужный файл.
Когда запрос идет вида site.ru/page - он нормально обрабатывает и отображает эту страницу.
Когда запрос идет вида site.ru/dir/ - он тоже нормально, в папке dir запускает файл index.php
А вот когда идет запрос вида site.ru/dir/page - то просто белый экран. Как я понял, он пытается запустить такой скрипт: site.ru/dir/page/index.php
Потому что когда я создал папку и файл: site.ru/dir/page/index.php
То при запросе site.ru/dir/page он открывает site.ru/dir/page/index.php, а мне нужно было чтобы открывал именно это site.ru/dir/page.
Вот .htaccess
Помогите, пожалуйста, решить проблему, гугл не помог.
---------- Добавлено 24.04.2014 в 11:24 ----------
Т.е. когда есть этот файл site.ru/dir/page/index.php, он пи запросе site.ru/dir/page автоматом ставит в конце слеш: site.ru/dir/page/ ну и естественно запускает эту папку и файл site.ru/dir/page/index.php...
То при запросе site.ru/dir/page он открывает site.ru/dir/page/index.php, а мне нужно было чтобы открывал именно это site.ru/dir/page.
Правила в вашем .htaccess указывают серверу сначала пытаться найти файл и выдать его, а если файл не существует, перенаправить запрос в скрипт-обработчик "/index.php", который должен выдать страницу для соответствующего урла.
Если скрипт "/index.php" не выдаёт страницу (или выдаёт пустую страницу), то это уже проблема "/index.php".
В том то и дело что index.php в корне работает нормально, и он не запускается когда белый фон. Т.к. в начале скрипта я написал echo 1; exit(); и все равно также белый фон был. И хотя файл существует он все равно не запускается, т.к. опять же белый фон и в самом файле я писал тоже echo 1; exit(); все равно был белый фон...
Включите подробное логгирование для mod_rewrite, увидите, что же именно запускается.
RewriteRule ^(.*)$ /index.php [L,QSA]
это конечно хорошо а куда девается $1 ??? он не идет как параметры к index.php ?
Когда вместо того чтобы загрузить файл - белый экран. В логах вот какая ошибка:
Что она значит?
---------- Добавлено 25.04.2014 в 00:30 ----------
В общем у меня index.php в корне обрабатывает адрессную строку след. образом:
Делит строку на части (explode)
Сперва проверяет первую часть, является ли она директорией, если директории нет, то по умолчанию отображает директорию 'page'. Следовательно такой запрос site.ru/registr преобразуется в site.ru/page/registr.php ну и сотвественно инклудится файл этот.
Сейчас сайт работает таким образом, что site.ru/registr такой запрос обрабатывается нормально, а если в строку сразу написать так site.ru/page/registr, то белый экран и ошибка, которую я присылал.
Подскажите, пожалуйста, как настроить (я думаю проблема в настройке .htaccess) чтобы все работало как надо! Спасибо!
Кто-нибудь знает как решить проблему можно? Может наводки какие дадите?
отключить Content Negotiation
.htaccess
Опа, заработало! Спасибо большое!)