![从 Apache https 重定向中排除单个文件](https://linux22.com/image/626338/%E4%BB%8E%20Apache%20https%20%E9%87%8D%E5%AE%9A%E5%90%91%E4%B8%AD%E6%8E%92%E9%99%A4%E5%8D%95%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我有重定向规则http配置文件文件将所有 HTTP 请求重定向到 HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
这种方法效果很好,但我想排除robots.txt 被重定向到 https (所以应该http://www.mysite.com/robots.txt) 这主要是因为谷歌拒绝通过 ssl 抓取我的 robots.txt (?)
我尝试了几种不同的方法,但到目前为止,它要么 404 文件,要么忽略它并转到https://www.mysite.com/robots.txt(与网站其他部分一样)
我尝试了以下方法:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^robots.txt
RewriteRule (.*)$ https://%{HTTP_HOST}/$1 [NC,R=301,L]
任何关于此事的建议都将不胜感激。
答案1
当然。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^/robots\.txt$ - [L]
# or if this is in an htaccess or <Directory>:
# RewriteRule ^robots\.txt$ - [L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}