skip to Main Content

I thought that i have only apache on my server, but i see that nginx catches some query’s before apache do…

my .htaccess file:

RewriteEngine On
RewriteRule ^.*$ index.php [NC,L]

But when i go to url like

https://site.domain/folder/another/folder/file.png

I get 404 error, instead of result of my index.php-script!

I tried to change my nginx-config by many ways so it was in vain.

There is it:

server {
    server_name site.domain www.site.domain;
    charset off;
    index index.html index.php;
    disable_symlinks if_not_owner from=$root_path;
    include /etc/nginx/vhosts-includes/*.conf;
    include /etc/nginx/vhosts-resources/site.domain/*.conf;
    access_log /var/www/httpd-logs/site.domain.access.log;
    error_log /var/www/httpd-logs/site.domain.error.log notice;
    ssi on;
    return 301 https://$host:443$request_uri;
    set $root_path /var/www/www-root/data/www/site.domain;
    root $root_path;
    location / {
        location ~ [^/].ph(pd*|tml)$ {
            try_files /does_not_exists @fallback;
        }
        location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
            try_files $uri $uri/ @fallback;
        }
        location / {
            try_files /does_not_exists @fallback;
        }
    }
    location @fallback {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect http://127.0.0.1:8080 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        access_log off;
    }
    listen 77.777.7.777:80;
}
server {
    server_name ege2018.top www.site.domain;
    ssl_certificate "/var/www/httpd-cert/www-root/site.domain_le1.crtca";
    ssl_certificate_key "/var/www/httpd-cert/www-root/site.domain_le1.key";
    ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
    charset off;
    index index.html index.php;
    disable_symlinks if_not_owner from=$root_path;
    include /etc/nginx/vhosts-includes/*.conf;
    include /etc/nginx/vhosts-resources/site.domain/*.conf;
    access_log /var/www/httpd-logs/site.domain.access.log;
    error_log /var/www/httpd-logs/site.domain.error.log notice;
    ssi on;
    set $root_path /var/www/www-root/data/www/site.domain;
    root $root_path;
    location / {
        location ~ [^/].ph(pd*|tml)$ {
            try_files /does_not_exists @fallback;
        }
        location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
            try_files $uri $uri/ @fallback;
        }
        location / {
            try_files /does_not_exists @fallback;
        }
    }
    location @fallback {
        proxy_pass http://127.0.0.1:8080;
        proxy_redirect http://127.0.0.1:8080 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        access_log off;
    }
    listen 77.777.7.777:443 ssl;
}

(I changed-to-hide domain name and server ip)

Please, help me to solve this problem, i hope it’s possible just by editing nginx-config.

Thank you!

2

Answers


  1. Chosen as BEST ANSWER

    My bad! I changed-to-hide actually url, which i want to visit, but key was there. The url was like

    site.domain/icons/...

    And apache go to his own icons folder despite .htaccess instructions...

    I touched apache config to solve this problem - commented alias for /icons/


  2. Have you got access to both nginx and Apache HTTPd logs? tail -F both log files while you access the URL. @fallback does indeed look like it sends the request to HTTPd if it cannot find it locally, does the request get to the HTTPd log? You may find that index.php isn’t where HTTPd is expecting to find it.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search