Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
0 votes
190 views
in Q2A Core by

The website is running on nginx and there is an error in the htaccess file

I am trying to implement what is in this question [The correct rule of rewrite for nginx], but when entering the ask page, it does not work

Please help modify this Vhost code

server {

  listen 80;

  listen [::]:80;

  listen 443 ssl http2;

  listen [::]:443 ssl http2;

  {{ssl_certificate_key}}

  {{ssl_certificate}}

  server_name test.mtalm.com;

  {{root}}

  {{nginx_access_log}}

  {{nginx_error_log}}

  if ($scheme != "https") {

    rewrite ^ https://$host$uri permanent;

  }

  location ~ /.well-known {

    auth_basic off;

    allow all;

  }

  {{settings}}

  location / {

    {{varnish_proxy_pass}}

    proxy_set_header Host $http_host;

    proxy_set_header X-Forwarded-Host $http_host;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_hide_header X-Varnish;

    proxy_redirect off;

    proxy_max_temp_file_size 0;

    proxy_connect_timeout      720;

    proxy_send_timeout         720;

    proxy_read_timeout         720;

    proxy_buffer_size          128k;

    proxy_buffers              4 256k;

    proxy_busy_buffers_size    256k;

    proxy_temp_file_write_size 256k;

  }

  location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|webp|zip|swf|map)$ {

    add_header Access-Control-Allow-Origin "*";

    expires max;

    access_log off;

  }

  if (-f $request_filename) {

    break;

  }

}

server {

  listen 8080;

  listen [::]:8080;

  server_name test.mtalm.com;

  {{root}}

  try_files $uri $uri/ /index.php?$args;

  index index.php index.html;

 

  

  location ~ \.php$ {

 

    include fastcgi_params;

    fastcgi_intercept_errors on;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    try_files $uri =404;

    fastcgi_read_timeout 3600;

    fastcgi_send_timeout 3600;

    fastcgi_param HTTPS "on";

    fastcgi_param SERVER_PORT 443;

    fastcgi_pass 127.0.0.1:{{php_fpm_port}};

    fastcgi_param PHP_VALUE "{{php_settings}}";

  }

  if (-f $request_filename) {

    break;

  }

}

by
edited by
First and foremost, Nginx doesn't support htaccess. If the above is in a .htaccess file, that's not going to work.

With that said, the tokens in double curly brackets (e.g. "{{ssl_certificate_key}}") are not valid Nginx config syntax. Is that you're actual Nginx config or a template for some kind of config management tool? In case of the former: remove/fix the statements in double curly brackets. In case of the latter: please edit your question and show the actual config. Also, the "location ~ /.well-known" directive seems to be missing a closing curly bracket.

1 Answer

0 votes
by

Let's try some configuration like this:
[code]server {

server_name yourwebsite-domain ;
listen serverip:80;
listen serverip:443 ssl ;
 
ssl_certificate "/var/www/httpd-cert/yourwebsite-cert.crt";
ssl_certificate_key "/var/www/httpd-cert/yourwebsite-cert.key";
 
charset utf-8;
 
gzip on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
gzip_comp_level 1;
set $root_path /var/www/youwebsitepath;
 
root $root_path;
disable_symlinks if_not_owner from=$root_path;
 
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?qa-rewrite=$uri&$args;
}
[/code]
by
Unfortunately it didn't work
by
Thank you for adding this
 location / {


index index.php index.html;


try_files $uri $uri/ /index.php?qa-rewrite=$uri&$args;


}
...