简体   繁体   中英

SEO-friendly URL rewrite in .htaccess

Before you flag this question -- I did search for answers, and found one close to mine that was not answered directly, so...

I am trying to write a simple RewriteRule in my .htaccess file to change ONLY the links that match to an SEO-friendly format.

RewriteEngine On
RewriteRule ^/includes/seo.([a-zA-Z]+).php$ /$1

So if I have a file

/includes/seo.mydocument.php

it will appear in the browser as

/mydocument

Not sure what I'm missing.

Leading slash is not matched in .htaccess rules so use this

RewriteRule ^includes/seo\.([a-zA-Z]+)\.php$ /$1 [L,R]

But probably you want this:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+includes/seo\.([^.]+)\.php[/\s?] [NC]
RewriteRule ^ /%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)/?$ /includes/seo.$1.php [L]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM