SEO Redirects without mod_rewrite

FREE THOUGHT · FREE SOFTWARE · FREE WORLD

.htaccess tutorial for SEO 301 Redirects with RedirectMatch and mod_aliasApril 10th, 2007

« PHP htaccess tips and tricksSpeed up your site with Caching and cache-control »

Web Professionals use mod_rewrite to issue 301 and 302 Redirects for Search Engines. Sometimes you may not have mod_rewrite.c or you want an alternative redirect method. Using mod_alias RedirectMatch you can use REGEX in Redirect commands!


SEO Search Engine Friendly Redirects without mod_rewrite

SEO 301 Redirect Single File

Redirect 301 /d/file.html /ddd/file.html

Redirect Home to new Domain

Redirect 301 / http://www.htaccesselite.com

301 Redirect multiple files

RedirectMatch 301 /blog(.*) /$1

Redirect Entire site to single file

Note: This is a 302 (temporary)redirect because its meant to point to a temporarily offline file.

RedirectMatch 302 ^/ /temporary-offline.html

Putting it all together

301 and 302 Redirects

Redirect 301 /security/rigging-the-dreamhost-site-of-the-month-contest.html http://www.askapache.com/dreamhost/rigging-the-dreamhost-site-of-the-month-contest.html
Redirect 301 /htaccess/speed-up-the-apache-web-server-with-configuration-hacks.html http://www.askapache.com/htaccess/apache-web-server-speed-configuration-hacks.html
Redirect 301 /2007/webmaster/custom-phpini-with-fastcgi-on-dreamhost.html http://www.askapache.com/dreamhost/custom-phpini-with-fastcgi-on-dreamhost.html
Redirect 301 /2007/phpbb/sending-post-form-data-with-php-curl.html http://www.askapache.com/htaccess/sending-post-form-data-with-php-curl.html
Redirect 301 /htaccess.txt http://z.askapache.com/uploads/p/htaccess.txt
Redirect 301 /2007/webmaster/php-and-ajax-shell-console.html http://www.askapache.com/tools/php-and-ajax-shell-console.html
Redirect 301 /2007/webmaster/custom-phpini-with-fastcgi-on-dreamhost.html http://www.askapache.com/dreamhost/custom-phpini-with-fastcgi-on-dreamhost.html
Redirect 301 /seo/tailrankcom-robot.html http://www.askapache.com/seo/tailrank-robot.html
Redirect 301 /instruct-search-engines-to-come-back-to-site-after-you-finish-working-on-it.html http://www.askapache.com/htaccess/503-service-temporarily-unavailable.html
Redirect 301 /htaccess/instruct-search-engines-to-come-back-to-site-after-you-finish-working-on-it.html http://www.askapache.com/htaccess/503-service-temporarily-unavailable.html
Redirect 301 /webmaster/lft-traceroute-tool.html http://www.askapache.com/tools/lft-traceroute-tool.html
# 302 Temporary
Redirect 302 /apachesearch/ http://google.com/coop/cse?cx=002660089121042511758%3Akk7rwc2gx0i

RedirectMatch with wildcards

RedirectMatch 301 ^/wp-content/uploads/p/(.*)$ http://z.askapache.com/p/$1
RedirectMatch 301 ^/(.*)apache-htaccess.html/2/(.*)$ http://www.askapache.com/htaccess/using-http-headers-with-htaccess.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/3/(.*)$ http://www.askapache.com/htaccess/php-htaccess-tips-and-tricks.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/4/(.*)$ http://www.askapache.com/htaccess/seo-search-engine-friendly-redirects-without-mod_rewrite.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/5/(.*)$ http://www.askapache.com/htaccess/mod_rewrite-tips-and-tricks.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/6/(.*)$ http://www.askapache.com/htaccess/speed-up-your-site-with-caching-and-cache-control.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/7/(.*)$ http://www.askapache.com/htaccess/apache-authentication-in-htaccess.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/8/(.*)$ http://www.askapache.com/htaccess/security-with-apache-htaccess.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/9/(.*)$ http://www.askapache.com/htaccess/ssl-example-usage-in-htaccess.html$2
RedirectMatch 301 ^/(.*)apache-htaccess.html/10/#htaccess-glossary http://www.askapache.com/htaccess/htaccess-for-webmasters.html#htaccess-glossary
RedirectMatch 301 ^/(.*)apache-htaccess.html/10/(.*)$ http://www.askapache.com/htaccess/apache-variable-fun-in-htaccess.html$2
RedirectMatch 301 ^/(.*)\.htm$ http://www.askapache.com/$1.html
RedirectMatch 301 ^/200([0-9])/([^01])(.*)$ http://www.askapache.com/$2$3
RedirectMatch 301 ^/(.*)/htaccesselite-ultimate-htaccess-article.html(.*) http://www.askapache.com/htaccess/apache-htaccess.html
RedirectMatch 301 ^/(.*)\.html/1/(.*) http://www.askapache.com/$1.html$2
RedirectMatch 301 ^/category/(.+)$ http://www.askapache.com/$1

Redirecting To Trigger Errors

Redirect 400 /seo/400
Redirect 401 /seo/401
Redirect 402 /seo/402
Redirect 403 /seo/403
Redirect 404 /index.php?error=404
Redirect 405 /seo/405
Redirect 406 /seo/406
Redirect 407 /seo/407
Redirect 408 /seo/408
Redirect 409 /seo/409
Redirect 410 /seo/410
Redirect 411 /seo/411
Redirect 412 /seo/412
Redirect 413 /seo/413
Redirect 414 /seo/414
Redirect 415 /seo/415
Redirect 416 /seo/416
Redirect 417 /seo/417
Redirect 418 /seo/418
Redirect 419 /seo/419
Redirect 420 /seo/420
Redirect 421 /seo/421
Redirect 422 /seo/422
Redirect 423 /seo/423
Redirect 424 /seo/424
Redirect 425 /seo/425
Redirect 426 /seo/426
Redirect 500 /seo/500
Redirect 501 /seo/501
Redirect 502 /seo/502
Redirect 503 /seo/503
Redirect 504 /seo/504
Redirect 505 /seo/505
Redirect 506 /seo/506
Redirect 507 /seo/507
Redirect 508 /seo/508
Redirect 509 /seo/509
Redirect 510 /seo/510

Redirecting using the following directives is done using the module mod_alias. RedirectMatch, RedirectPermanent, RedirectTemp, Redirect


htaccess Guide Sections

| .htaccess Tutorial Index |


« PHP htaccess tips and tricksSpeed up your site with Caching and cache-control »

Reader Comments

  1. Pedro Cunha says:

    @AJ: I think I’ve found the solution:

    RedirectMatch 301 ^/old-(.*) /

    This will make all the files located at /old-* redirect to / .

    Hope I’ve solved the problem! ;)

  2. Pedro Cunha says:

    In the “Redirect Entire site to single file” section, your code is doing an infinite redirection.

    I tried to edit it to avoid the circle. I know that changing it to an external URL solves the problem, but is there another way to do that?

  3. AJ says:

    I really like your site – great tips!

    I’m trying to 301 redirect an entire site to the index.html (so all of the links going to old interior pages would still keep passing PR to the index page) but am getting an error when I’m using the following code

    RewriteRule /.* http://www.mysite.com/ [R=301,L]

    I want to get it to where when anyone (or any search engine) comes to any old page (mysite.com/old-page.html) they’re 301 redirected to the new home page. Do you know what code I should be using in my htaccess to accomplish this?

    Thanks so much!

  4. sg says:

    Hi,
    I’m trying to 301 redirect a url that contains a question mark, but I can’t get it to view the ? literal. I’m assuming that’s the issue.

    Here’s what I’ve tried, but hasn’t worked.

    URL I want redirected -http://www.mysite.com/foo/?section=page

    RedirectMatch 301 ^/foo/\?section=page$ http://www.mysite.com/foo/
    and
    RedirectMatch 301 ^/foo/*section=page$ http://www.mysite.com/foo/
    and
    RedirectMatch 301 ^/foo/(.*)section=page$ http://www.mysite.com/foo/

    Any ideas of what I’m doing wrong. Thanks!

  5. askapache.com commenter AskApache says:

    @ D K

    RedirectMatch 301 ^/level\.itml/icOid/184$ http://www.mysite.com/noticemykeyword
  6. D K says:

    Hi,

    I’m trying to figure out the syntax for an .htaccess line entry that would
    perform the following redirection

    mysite.com/level.itml/icOid/184 mysite.com/noticemykeyword
    I thought this would work :

    Redirect 301 /level\.itml/icOid/184 http://www.mysite.com/noticemykeyword

    but it doesn’t.
    I’ll keep reading and experimenting, but I’d really appreciate any suggestions or tips.

    Thanks,

RSS feed for comments on this post.TrackBack URL

Add Your Opinion

Skip to Comments
434

It's very simple -
you read the protocol
and write the code.
-Bill Joy

HTML | DCMI | GRDDL | XOXO | XDMP | XFN | DOM | XML | XHTML 1.1 Strict | CSS 2.1 | W3C | WAI | DISA | ICSI | GIAC | SANS RR | GHOST

Authority: 110

↑ TOP

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed according to these terms. "Apache" is a trademark of The ASF.

Site Map | Contact Webmaster | Glossary | License and Disclaimer | Terms of Service