J'ai mon site principal à x.com (@/var/www/x.com/index.html)Pourquoi mon alias Nginx ne fonctionne-t-il pas (Aller à 404)?
# MAIN LOCATION
location/{
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
#autoindex on;
proxy_set_header X-Real-IP $remote_addr;
}
Je veux /v2 redirigée vers une autre dir locale (@/var/www/x.com/v2/public/index.html)
# Redirect beta site
location /v2 {
alias /var/www/x.com/v2/public;
}
Cela semble que cela devrait fonctionner, mais au contraire, il va sur mon site 404. Je ne sais pas si cette question est importante, mais voici mes racines au-dessus de tous les deux:
# path
root /var/www/throneoflies.com/html;
J'ai essayé de commander «/v2 » fois au-dessus «/» et au-dessous - ne semble pas faire une différence . J'ai lu que je ne devrais pas utiliser 'root' au lieu de 'alias' parce que c'est un schéma différent (/ v2/public/et pas seulement/v2 /).
EDIT: On dirait que cela devrait fonctionner - j'ai beaucoup lu depuis ce post. Voici mon dossier complet:
server {
# MAIN >>
# SSL configuration
listen 443 default_server ssl;
server_name www.x.com;
error_page 404 /error/404.html;
server_tokens off;
# SSL
ssl_certificate /etc/ssl/x.com/cert.pem;
ssl_certificate_key /etc/ssl/x.com/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#ssl_session_tickets off;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
# path
root /var/www/x.com/html;
#root /var/www/x.com/v2/public; #works!
# Add index.php to the list if you are using PHP
#index index.php index.html index.htm index.nginx-debian.html;
index index.html;
# 404 handling - no cache
location = /404.html {
add_header Cache-Control "no-cache" always;
}
# Redirect beta site : Why doesn't it work if the outer block root changed to the same path works? I can REPLACE my "/" with this v2 path np. However, alias at /v2 does not work.
location = /v2 {
alias /var/www/x.com/v2/public;
#root /var/www/x.com/v2/public;
#try_files $uri $uri/ =404;
}
# MAIN LOCATION
location/{
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
#autoindex on;
proxy_set_header X-Real-IP $remote_addr;
# DENY .HTACCESS ACCESS
location ~/\.ht {
deny all;
}
}
Le bloc 'location/v2' semble correct. Est-ce que '/ v2' redirige vers/v2 /' avant la réponse 404? Y a-t-il une directive 'index' dans le bloc externe? –
Je ne vois pas de redirection visible, si c'est ce que vous voulez dire. Directive d'index? Yea juste 'index index.html;' –
(C'est un 404 CAUGHT, pas le nginx 404 laide de l'extérieur 'error_page 404 /error/404.html;'). De plus, si j'échange la racine principale avec l'alias que j'essaie de faire, le/v2/public/site charge FINE! Donc ce n'est pas un problème de chemin –