2016-05-14 4 views
2

мой текущий .htaccess имеетRewriteRule вопрос - robots.txt

RewriteRule ^(.+)\.txt$ /404.php [r=301,nc] 

Сво случилось, что все .txt файлы будут перенаправлять на 404.php.

Код выглядит как нормально для меня, но это также перенаправит запрос на файл robots.txt. Я хочу разблокировать только robots.txt файл и сохранить другие .txt ссылки на файлы перенаправлены.

ответ

0

Вы можете исключить robots.txt файла из правила, используя один из следующих вариантов:

  1. регулярки negitive lookahed:

    RewriteRule ((роботы) +?!.). TXT $ /404.php [г = 301 пс]

  2. negitive RewriteCond

    RewriteCond% {REQUEST_URI}!/роботы. (. +). TXT $ RewriteRule^$ TXT /404.php [г = 301 пс]

  3. пропустить /robots.txt

    RewriteRule robots.txt $ - [L] RewriteRule^(. +). TXT $ /404.php [г = 301 пс]

0

Используйте ниже набор правил

RewriteEngine on 
RewriteCond %{REQUEST_URI} !/robots\.txt$ 
RewriteRule ^(.+)\.txt$ /404.php [R=301,L] 
+0

до сих пор не работает этот код – Smaller

+0

у вас есть какие-либо другие правила в файл htaccess? Во всяком случае, я изменил флаги. Повторите попытку еще раз. Я тестировал его в localhost и его работоспособности. –