Aynı sitede http ve https için farklı robots.txt nasıl sunulur?


11

Apache tarafından sunulan küçük bir sitem var (Nginx'i öne koyamıyorum veya Apache'yi herhangi bir şeye değiştiremiyorum) ve aynı siteyi hem http hem de https üzerinden sunmak için ayarlandı (hiçbir yönlendirme http-> https var Bu nedenle, hem http hem de https sürümleri paralel olarak sunulur).

İhtiyacım olan şey, .htaccessfarklı metin dosyası sunmak için http ve https aracılığıyla aynı URI'yi kurmak mı?

Gibi http://example.com/proto.txt"Site http bitti" https://example.com/proto.txtderken "Site https üzerinden hizmet" der.


Bunu yazmanın tam yolunu kontrol etmek için yeterli zamanınız yok (ve sadece bir yorum değil, bir cevap), ancak ana Apache yapılandırmasını değiştirmek istemiyorsanız veya değiştiremiyorsanız başka bir seçenek kullanmaktır. bir RewriteRulede senin .htaccessüzerinde bir koşul https üzerinden sunulmakta olan.
jcaron

@dcaron, bu tam olarak ihtiyacım var, sadece tam olarak nasıl yapılacağını anlayamıyorum ve bunu yapmak için bir tavsiyeye veya (daha iyi) kod parçacığına ihtiyacım var :)
Kevin M

Http ve https siteleriniz farklı <VirtualHost>s. Bu nedenle, bunlardan birinde farklı bir robots.txt yapılandırmanız yeterlidir. Etrafında:RewriteRule ^/robots.txt$ /path/to/alternative/robots.txt [L]
peterh - Monica

Yanıtlar:


19

Takma Ad Kullan

Robots.txt ve robots_http.txt adlı iki dosya oluşturun ve bunu http VirtualHost'unuza ekleyin:

Alias "/robots.txt" "/path/to/documentroot/robots_http.txt"

Vhost ayarları değiştirilemez, sadece .htaccess düzenleyebilir, bu hile.
Kevin M

2

"Ana" Apache yapılandırmasını değiştiremez veya değiştiremezseniz, ancak bunu bir .htaccessdosyada yapmanız gerekiyorsa, HTTPS'yi kontrol RewriteRuleeden bir ile kullanabilirsiniz RewriteCond.

Çizgileri boyunca bir şey:

RewriteEngine On

RewriteCond %{HTTPS} "on"
RewriteRule robots.txt robots_https.txt [L]

muhtemelen çalışmalı (test etmedim).

Bunun HTTPS sonlandırması yapan Apache'ye dayandığını unutmayın. HTTPS sonlandırması ondan önce ters proxy üzerinde yapılırsa, durum büyük olasılıkla farklı olacaktır (ve ters proxy ve Apache yapılandırmasına bağlı olacaktır).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.