- Code: Select all
http://domain.com/apache_htaccess/apache_htaccess_article_howto.html
http://domain.com/the_best_apache_htaccess_article.html
And you changed the urls to be more SEO friendly by replacing the underscores with dashes.
- Code: Select all
http://domain.com/apache-htaccess/apache-htaccess-article-howto.html
http://domain.com/the-best-apache-htaccess-article.html
So how do you automatically 301 redirect requests for the underscore containing urls to the urls with dashes?
- Code: Select all
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule !\.(html|php)$ - [S=5]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5-$6-$7 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5-$6 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=underscores:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=underscores:Yes]
RewriteCond %{ENV:underscores} ^Yes$
RewriteRule (.*) http://domain.com/$1 [R=301,L]
Based on article at Replacing a single character with mod_rewrite