Używam nginx 0.6.32 jako front-end dla serwera proxy dla couchdb. Mam plik robots.txt w bazie danych, dostępny jako http://www.example.com/prod/_design/mydesign/robots.txt. Mam również plik sitemap.xml, który jest generowany dynamicznie pod podobnym adresem URL.Jak skonfigurować Nginx do przekierowania do adresu URL pliku robots.txt i sitemap.xml
Próbowałem następujące config:
server {
listen 80;
server_name example.com;
location/{
if ($request_method = DELETE) {
return 444;
}
if ($request_uri ~* "^/robots.txt") {
rewrite ^/robots.txt http://www.example.com/prod/_design/mydesign/robots.txt permanent;
}
proxy-pass http://localhost:5984;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
To wydaje się działać jak przekierowanie, ale czy istnieje prostszy sposób?
To wydaje się najprostsze rozwiązanie i działa idealnie dla mnie. – Gattster
Kiedy mówisz "plik zawierający plik", zakładam, że masz na myśli * włączając * nazwę pliku? Próbowałem 'alias/www/static;', zi bez końcowych ukośników, i to się nie udało. Kiedy użyłem 'alias /www/static/robots.txt;', działało dobrze. –
John C - Nie, tylko katalog. zamiast wstawiać 'alias/katalog;' możesz również umieścić 'root/opt/directory /;' Hope, który pomaga. – PlanetUnknown