Перепишите robots.txt на основе хоста с помощью htaccess

Я пытаюсь переписать имя файла на основе домена сервера.

Этот код ниже является неправильным / не работает, но иллюстрирует желаемый эффект.

<If "req('Host') != '*.mydevserver.com'">
  RewriteRule "^/robots\.txt$"  "robots-staging.txt"    [R]
</If>

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

Пример использования:

http://client1.devsite.com/robots.txt переписан в
http://client1.devsite.com/robots-staging.txt

http://client2.devsite.com/robots.txt переписан в
http://client2.devsite.com/robots-staging.txt

https://client.com/robots.txt не переписан
https://myclient.com/robots.txt

1 ответ

Вы можете использовать более динамичный подход:

RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [NS]

И разместите свои файлы robots.txt следующим образом:

  • robots / domain.tld.txt
  • robots / sub.domain.tld.txt

Я столкнулся с этим решением из-за нескольких проектов с несколькими веб-сайтами, основанных на TYPO3 CMS и Neos CMS.

Я нашел свой ответ. Это работает как хотелось бы.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^(.*)?mydevserver(\.com)
    RewriteRule ^robots\.txt$ robots-staging.txt [NS]
</IfModule>
Другие вопросы по тегам