Хостинг. Не работает переадресация всех запросов на корневой index.php (.htaccess)

andre.revkov
8 лет
0

есть вот такой .htaccess в корне

RewriteEngine on
RewriteCond $1 !^(index\.php|public|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

взят с мануала Codeigniter framework (он же работает на хостинге)
но переадресация не работает (хотя на локальном сервере все норм)
на хостинге выскакивает сообщение "No input file specified."

JuliaS.
8 лет
0

Попробуйте, пожалуйста, в .htaccess заменить

RewriteRule ^(.*)$ /index.php/$1 [L] © revkov.a.o

на
RewriteRule ^(.*)$ index.php?/$1 [L]


или, если 1-й вариант не сработает, на:
RewriteRule ^(.*)$ index.php?$1 [L]

zaga89
8 лет
0

я использовал такой редирект:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^.*$ http\:\/\/САЙТ\.dp\.ua\/ [R=301,L]

это с index.php переадресовать в корень сайта))) у меня работает

Alik
8 лет
0

Где-то с год-полтора тому назад я тоже пытался перенаправить robots.txt на php-скрипт для того, чтобы мультидоменный сайт отдавал разные параметры в зависимости от домена. Не удалось мне это сделать совершенно никакими средствами и даже в случае отсутствия файла robots.txt через браузер он все равно отдавал не ошибку HTTP404, а параметр Crawl-delay. (:

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

rudenko
8 лет
1

У меня работает и переадресация и robots.txt через PHP обрабатывается:

RewriteEngine On
RewriteBase /
RewriteRule ^robots\.txt$ /robots.php [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9a-zA-Z\._/-]*)$ /index.php?_REWRITE_URL=$1&%{QUERY_STRING} [L,NC]

PS. В robots.txt нужно выдавать обязательно заголовок Content-type: text/plain, а то поисковики не очень любят txt файлы с PHP.
PSS. Для robots.txt нужно в [Мои сайты][Настройка сайта][Статические файлы] убрать расширение txt, так как запрос не будет доходить до Apache И mod_rewrite.

Тема закрыта.