vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   nginx users with mod-rewrite urls: can you post your virtual host file? (https://vborg.vbsupport.ru/showthread.php?t=323873)

sub_ubi 11-15-2016 11:02 PM

nginx users with mod-rewrite urls: can you post your virtual host file?
 
I'm having a heck of a time getting mod-rewrite friendly URLs working in nginx. I followed this post,

http://www.vbulletin.com/forum/forum...00#post4032700

Code:

rewrite    /threads/.*                  /showthread.php?$uri&$args    last;
rewrite    /forums/.*                    /forumdisplay.php?$uri&$args  last;
rewrite    /members/.*                  /member.php?$uri&$args        last;
rewrite    /blogs/.*                    /blog.php?$uri&$args          last;
rewrite    /entries/.*                  /entry.php?$uri&$args          last;
rewrite    ^/(?:(.*?)(?:/|$))(.*|$)$    /$1.php?r=$2                  last;

but am not having much luck. 404's everywhere, or images don't work, or something wonky. My vhost file is becoming a mess. Can someone with mod-rewrite urls working post their full vhost so I can see where to put everything?

Thanks!

Dave 11-15-2016 11:13 PM

Which ones are 404'ing?

sub_ubi 11-15-2016 11:25 PM

Forums, threads, pretty much anything unless I specify the .php file.

Code:

server {
        server_name www.mysite.com;
        return 301 $scheme://mysite.com$request_uri;
}
server {
        listen 80;
        listen [::]:80;

        # SSL configuration
        #
        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        #
        # Self signed certs generated by the ssl-cert package
        # Don't use them in a production server!
        #
        # include snippets/snakeoil.conf;

        root /var/www/mysite;

        # some unique logging
        access_log /var/log/nginx/mysite_access.log;
        error_log /var/log/nginx/mysite_error.log;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name mysite.com;

        location / {
                #for vbulletin
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;

              #my attempt at mod-rewrite URLs, currently failing
        rewrite    /threads/.*                  /showthread.php?$uri&$args    last;
        rewrite    /forums/.*                    /forumdisplay.php?$uri&$args  last;
        rewrite    /members/.*                  /member.php?$uri&$args        last;
        rewrite    /blogs/.*                    /blog.php?$uri&$args          last;
        rewrite    /entries/.*                  /entry.php?$uri&$args          last;
        rewrite    /(?:(.*?)(?:/|$))(.*|$)$    /$1.php?r=$2                  last;
        }
               
                # for amember software
      location /amember { try_files not-existing-file @php;}
      location ~* ^/amember/.*\.(js|ico|gif|jpg|png|css|swf|csv)$ {}
      location ~* ^/amember/setup/index.php$ { try_files not-existing-file @php; }
      location ~* ^/amember/js.php { try_files not-exiting-file @php; }
      location ~* ^/amember/index.php$ { try_files not-existing-file @php; }
      location ~* ^/amember/public.php$ { try_files not-existing-file @php; }

      location ~* ^/amember/public { rewrite ^.*$ /amember/public.php; }
      location ~* ^/amember/setup { rewrite ^.*$ /amember/setup/index.php; }
      location ~* ^/amember { rewrite ^.*$ /amember/index.php; }


        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                #with php5.6-fpm:
                fastcgi_pass unix:/run/php/php5.6-fpm.sock;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param QUERY_STRING $query_string;
                fastcgi_param REQUEST_METHOD $request_method;
                fastcgi_param CONTENT_TYPE $content_type;
                fastcgi_param CONTENT_LENGTH $content_length;
                fastcgi_intercept_errors on;
                fastcgi_ignore_client_abort off;
                fastcgi_connect_timeout 60;
                fastcgi_send_timeout 180;
                fastcgi_read_timeout 180;
                fastcgi_buffers 256 16k;
                fastcgi_buffer_size 32k;
                fastcgi_temp_file_write_size 256k;
        }
        # more amember stuff
                location @php {
                fastcgi_pass unix:/run/php/php5.6-fpm.sock;
        #      fastcgi_pass php-handler;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param QUERY_STRING $query_string;
                fastcgi_param REQUEST_METHOD $request_method;
                fastcgi_param CONTENT_TYPE $content_type;
                fastcgi_param CONTENT_LENGTH $content_length;
                fastcgi_intercept_errors on;
                fastcgi_ignore_client_abort off;
                fastcgi_connect_timeout 60;
                fastcgi_send_timeout 180;
                fastcgi_read_timeout 180;
                fastcgi_buffers 256 16k;
                fastcgi_buffer_size 32k;
                fastcgi_temp_file_write_size 256k;
                }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}


Dave 11-15-2016 11:32 PM

Hmm what if you move those rewrite rules outside of the "location /" block?

sub_ubi 11-15-2016 11:36 PM

Thank you so much for helping!

Quote:

Originally Posted by Dave (Post 2578219)
Hmm what if you move those rewrite rules outside of the "location /" block?

Just a 404 even when I specify forum.php


All times are GMT. The time now is 07:05 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01146 seconds
  • Memory Usage 1,743KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete