@phenomlab Perfect!!! Many thanks.
nginx seo urls
-
what do the cfg have to look like for seo url?
Example: instead of
index.php?page=home
so
/page/home
server { listen 80; server_name riekmedia.dev; root /var/www/website; index index.php index.html index.htm; location / { if ($request_uri ~ ^/(.*)\.html$) { return 302 /$1; } } 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 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; }
-
@riekmedia Can you provide more information as to the technology you are using to present this site - for example, WordPress, Joomla, Ghost, etc ?
Thanks
-
@phenomlab said in nginx seo urls:
@riekmedia Can you provide more information as to the technology you are using to present this site - for example, WordPress, Joomla, Ghost, etc ?
Thanks
Self-written cms the url only needs to be from z.b index.php?page=home to /page/home
in Apache woked this for .htaccess
Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/?site/([a-zA-Z0-9]+)$ /index.php?site=$1
-
@riekmedia Something like this should work (obviously it needs modification to match your environment)
location / { try_files $uri $uri/ /index.php?$args; } location /my-app { try_files $uri $uri/ /my-app/file.php?arg=$uri&$args; } location ~ \.php$ { try_files $uri =404; }
-
@phenomlab said in nginx seo urls:
@riekmedia Something like this should work (obviously it needs modification to match your environment)
location / { try_files $uri $uri/ /index.php?$args; } location /my-app { try_files $uri $uri/ /my-app/file.php?arg=$uri&$args; } location ~ \.php$ { try_files $uri =404; }
Thank you, I’ll try this right now
-
`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; } }
-
@riekmedia are you using this as a guide instead of the snippet I provided ?
-
I had tried both and neither worked
-
@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)
-
@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; } } ´´´´
-
@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.
-
@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
-
@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.
-
@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; }
-
@riekmedia that looks fine to me
-
Did this solution help you?
Related Topics
-
Test of youtube embeds
Solved Configure -
MogoDB v6 to v7 upgrade
Solved Configure -
-
-
-
-
nginx can't start again
Moved Solved Configure -