Nastavení a nástroje Unity Visual Studio 2017

Chci, aby byly přesměrovány všechny požadavky na doménu https, s výjimkou pouze jednoho konkrétního souboru. Nejsem si jistý, jak toho dosáhnout pomocí .htaccess

-bash-3.2# cat .htaccess ErrorDocument 404 http://www.example.com RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] -bash-3.2# 

Výše uvedený kód vše přesměruje dokonale, potřebuji však robots.txt soubor přístupný přes http:// vs https:// pouze.

RewriteEngine On RewriteCond %{HTTPS} !on RewriteCond %{REQUEST_URI} !robots\.txt RewriteRule .* https://www.example.com/$0 [R,L] 

Všimněte si, že HTTPS je spolehlivější indikátor toho, zda je povolen SSL.

To by se ve výchozím nastavení hodilo lépe, ale ...

Nejprve můžete pracovat s předběžnou podmínkou. Něco jako:

ErrorDocument 404 http:// www.domain.com RewriteEngine On RewriteCond %{REQUEST_URI} http://(www)?\.domain\.tld\/robots\.txt RewriteRule http://domain\.tld\/robots\.txt [R,L] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https:// www.domain.com/$1 [R,L] 
  • 1 -1 ... nikdy jsem neviděl protokol a název domény obsažené v %{REQUEST_URI} proměnná prostředí ...
  • To byl jen detail. Zaměřit by se měla myšlenka předběžné podmínky. Mimochodem, pěkná odpověď na vaši, mnohem elegantnější.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?