简体   繁体   中英

using mod_rewrite to create SEO friendly URLS

I've been searching google for this but can't find the solution to my exact needs. Basically I've already got my URL's named how I like them ie "http://mysite.com/blog/page1.php"

What I'm trying to achieve (if it's possible!) is to use rewrite to alter the existing URLS to: "http://mysite.com/blog/page1"

The problem I've come across is I've found examples that will do this if the user enters "http://mysite.com/blog/page1" into the broweser which is great, however I need it to work for the existing links in google as not to loose traffic, so incoming URLS "http://mysite.com/blog/page1.php" are directed to "http://mysite.com/blog/page1".

The 1st example (Canonical URLs) at the following is pretty much what you want:

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html#url

This should do the trick, rewriting requests without .php to have it, invisible to the user.

RewriteEngine On
RewriteRule ^/blog/([^.]+)$  /blog/$1.php

You will need to write a rewrite rule for mapping your old url's to your new url as a permanent redirect. This will let the search engine know that the new, seo friendly url's are the ones to be used.

RewriteRule blog/page1.php blog/page1 [R=301,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