Skip to content

nginx seo urls

Solved Configure
15 2 6.1k 1
  • wrote on last edited by RiekMedia
    #6

    `hm is not working 😕

    https://opensourceeducation.net/how-to-fix-seo-friendly-urls-in-nginx-for-wordpress-sites

    server {
        listen       80;
        server_name  localhost;
    
        root   /var/www/website;
        index  index.php index.html index.htm;
    
    
    ####Please add below lines for SEO Friendly URLs######################################
    	location / {
    		index index.php;
    		try_files $uri $uri/ /index.php?page=$uri&$args;
    	}
    ######################################################################################
    
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   unix:/var/run/php/php8.0-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }
    
    
  • `hm is not working 😕

    https://opensourceeducation.net/how-to-fix-seo-friendly-urls-in-nginx-for-wordpress-sites

    server {
        listen       80;
        server_name  localhost;
    
        root   /var/www/website;
        index  index.php index.html index.htm;
    
    
    ####Please add below lines for SEO Friendly URLs######################################
    	location / {
    		index index.php;
    		try_files $uri $uri/ /index.php?page=$uri&$args;
    	}
    ######################################################################################
    
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   unix:/var/run/php/php8.0-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }
    
    
    wrote on last edited by
    #7

    @riekmedia are you using this as a guide instead of the snippet I provided ?

  • wrote on last edited by
    #8

    I had tried both and neither worked

  • I had tried both and neither worked

    wrote on last edited by
    #9

    @riekmedia Is there any way I can get access to the server to investigate, or perhaps get a copy of the source code to fix locally ? (I’ll also need the database)

  • @riekmedia Is there any way I can get access to the server to investigate, or perhaps get a copy of the source code to fix locally ? (I’ll also need the database)

    wrote on last edited by RiekMedia
    #10

    @phenomlab Which database do they mean? I’m not talking about Nodebb but about the web server nginx. I had included the config.

    default.conf for Domain riekmedia.dev

    server {
        listen       80;
        server_name  riekmedia.dev;
    
        root   /var/www/website;
        index  index.php index.html index.htm;
    
    
    	location / {
    		index index.php;
    		try_files $uri $uri/ /index.php?page=$uri&$args;
    	}
    
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   unix:/var/run/php/php8.0-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }
    ´´´´
  • @phenomlab Which database do they mean? I’m not talking about Nodebb but about the web server nginx. I had included the config.

    default.conf for Domain riekmedia.dev

    server {
        listen       80;
        server_name  riekmedia.dev;
    
        root   /var/www/website;
        index  index.php index.html index.htm;
    
    
    	location / {
    		index index.php;
    		try_files $uri $uri/ /index.php?page=$uri&$args;
    	}
    
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /var/www;
        }
            location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass   unix:/var/run/php/php8.0-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }
    ´´´´
    wrote on last edited by
    #11

    @riekmedia I mean a copy of the database that the CMS connects to, plus the source code. It’s hard to provide a fix without it.

  • @riekmedia I mean a copy of the database that the CMS connects to, plus the source code. It’s hard to provide a fix without it.

    wrote on last edited by RiekMedia
    #12

    @phenomlab there is no cms yet, I program the whole thing first. It is now just a small php website with subpages that are accessed via index.php?page=aboutus z.b. I just have to change the webserver now that it converts dynamic urls to seo urls

    example

    riekmedia.dev/index.php?page=aboutus

    new url

    riekmedia.dev/page/aboutus

    with apache you could solve this via htaccess with Rewrite Rule

    example

    # BEGIN RIEK-MEDIA
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^/?page/([a-zA-Z0-9]+)$ /index.php?page=$1
    </IfModule>
    # END RIEK-MEDIA
    

    Hier are example from page nginx not working

    https://riekmedia.dev/index.php?page=impressum

    https://riekmedia.dev/page/impressum

    Apache Server rewrite Rule is working

    https://myteamspeak.online/index.php?page=impressum

    https://myteamspeak.online/page/impressum

  • @phenomlab there is no cms yet, I program the whole thing first. It is now just a small php website with subpages that are accessed via index.php?page=aboutus z.b. I just have to change the webserver now that it converts dynamic urls to seo urls

    example

    riekmedia.dev/index.php?page=aboutus

    new url

    riekmedia.dev/page/aboutus

    with apache you could solve this via htaccess with Rewrite Rule

    example

    # BEGIN RIEK-MEDIA
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^/?page/([a-zA-Z0-9]+)$ /index.php?page=$1
    </IfModule>
    # END RIEK-MEDIA
    

    Hier are example from page nginx not working

    https://riekmedia.dev/index.php?page=impressum

    https://riekmedia.dev/page/impressum

    Apache Server rewrite Rule is working

    https://myteamspeak.online/index.php?page=impressum

    https://myteamspeak.online/page/impressum

    wrote on last edited by
    #13

    @riekmedia Ah, ok. That makes sense. I can probably replicate this fairly easily. Leave it with me. Hopefully should be back to you at some point later today.

  • @riekmedia Ah, ok. That makes sense. I can probably replicate this fairly easily. Leave it with me. Hopefully should be back to you at some point later today.

    wrote on last edited by
    #14

    @phenomlab that seems to work. Or unclean?

    ####Please add below lines for SEO Friendly URLs
    	location / {
    		index index.php;
    		rewrite ^/page(?:/([a-z]+))?$ /index.php?page=$1;
    	}
    
    
  • @phenomlab that seems to work. Or unclean?

    ####Please add below lines for SEO Friendly URLs
    	location / {
    		index index.php;
    		rewrite ^/page(?:/([a-z]+))?$ /index.php?page=$1;
    	}
    
    
    wrote on last edited by
    #15

    @riekmedia that looks fine to me

  • phenomlab phenomlab has marked this topic as solved on

Did this solution help you?
Did you find the suggested solution useful? Support 💗 Sudonix with a coffee ☕
If your organisation needs deeper expertise around infrastructure, security, or technology leadership, learn more about Phenomlab Ltd. Many of the deeper technical guides behind Sudonix are published there.

Related Topics
  • Nodebb to Xenforo

    Solved Configure xenforo nodebb
    3
    0 Votes
    3 Posts
    1k Views
    phenomlab
    @cagatay as @downpw stated, there isn’t a native tool that will do this for you. You’d need to either develop your own or ask the nodebb team to assist which will be a paid exercise.
  • Spam spam spam

    Solved Configure nodebb
    6
    2 Votes
    6 Posts
    3k Views
    phenomlab
    @Panda said in Spam spam spam: ok, yes Ive seen the queue, it shows IP, but doesnt have a field for comments from registrant. It’s not designed for that. It merely serves as a gateway between posts appearing on your form or not. @Panda said in Spam spam spam: It would be better if nodebb had this plugin included in ACP list, as not only then do you know its approved and should work, but many people cant or dont want to use CLI on the server That’s a question for the NodeBB devs but in all honesty you can’t not use the CLI when installing nodebb so to be this isn’t a big deal.
  • Opening links in nodebb widget

    Solved Configure nodebb
    6
    4 Votes
    6 Posts
    3k Views
    phenomlab
    A more efficient way of including this would be to not over complicate it and leverage a standard iframe (providing the CSP headers of the remote site permit this) like below <iframe src="https://www.classmarker.com/online-test/start/?quiz=gag66aea7922f0a5" width="700" height="800"></iframe> This works first time every time on your site as intended.
  • How to deploy WordPress.org Developer theme

    Solved Configure wordpress theme github
    4
    1 Votes
    4 Posts
    3k Views
    phenomlab
    @Hari the real issue here is that I don’t think it can be used as a theme for WordPress because of the dependencies it clearly has, including its own Web server. My view here is that this is designed to be a complete development environment outside of the WordPress core.
  • mongodb backup problem

    Moved Configure mongodb
    3
    1
    1 Votes
    3 Posts
    1k Views
    phenomlab
    You might want to also review this post https://sudonix.org/topic/389/mongodb-backup-script
  • Email Server Settings

    Solved Configure mx entry
    25
    10 Votes
    25 Posts
    11k Views
    phenomlab
    @Onix said in Email Server Settings: If anyone has long-term experience with self-hosted SMTP + DNS set-ups that remain stable, would be great to hear which configurations worked best. I can help with this
  • 6 Votes
    36 Posts
    15k Views
    phenomlab
    @justoverclock said in Digitalocean step by step guide to nginx configuration: i’m learning And that’s the whole point of this site If you don’t learn anything, you gain nothing.
  • how to change flarum configuration from apache to nginx?

    Solved Configure flarum
    3
    0 Votes
    3 Posts
    1k Views
    phenomlab
    See https://sudonix.com/topic/226/issues-getting-flarum-to-work-on-new-host/28?_=1645013723672