You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Doug Doidge <dd...@ross-simons.com> on 2008/02/01 16:02:02 UTC

[users@httpd] Newbie needs help with Apache Rewrite

Hello, I am a newbie (to the Apache rewrite rules) who has been thrown
into the lion's den. We are having trouble achieving our three goals
listed below. Any pointers would be greatly appreciated. 

 

We are having problems converting the incoming URL to a persistent,
SEO/spider-friendly URL while setting the old URL to a permanent 301
redirect. Any help would be greatly appreciated.

 

Our goal is to...

1) rewrite incoming alternate domains (ie- www.oursite.org) and old
sub-domains (ie- jewelry.oursite.com) to www.oursite.com.

2) in the URL, persist spider-friendly SEO links (ie-
"www.oursite.com/Diamond/Rings.html" is actually
"www.oursite.com/search.jsp?freeText=Diamond+Rings").

3) catch and convert old, dead links to their new pages/search results.

 

If the URL changed, the resulting URL, from the above three goals, would
return as a permanent 301 redirect.

 

Here is a sample of our Apache conf file...

 

-------------------------------------------------

 

RewriteEngine On

RewriteLog "apache/logs/rewrite.log"

RewriteLogLevel 0

 

# redirect everything to www except subdomains and internal use

RewriteCond %{HTTP_HOST}      !^www\.oursite\.com [NC]

RewriteCond %{HTTP_HOST}      !^$

RewriteRule .?   http://www.oursite.com%{REQUEST_URI} [R=301]

 

# Standard category links for use in navigation

RewriteRule ^/jewelry.html        /search.jsp?category=JEWELRY [NC,PT]

 

# old, now-deleted pages redirected to search engine

RewriteRule       /clearance.htm
http://www.oursite.com/search.jsp?freeText=Clearance [NC,R=301,L]

 

# keyword entry points

RewriteRule       ^/diamonds/$
http://www.oursite.com/search.jsp?freeText=Diamond [NC,R=301,L]

RewriteRule       ^/diamonds$
http://www.oursite.com/search.jsp?freeText=Diamond [NC,R=301,L]

 

# old static to new static pages

RewriteRule       ^/retail/$
http://www.oursite.com/content/retail.htm [NC,R]

RewriteRule       ^/retail$
http://www.oursite.com/content/retail.htm [NC,R]

RewriteRule       /content/shopping.htm
http://www.oursite.com/content/faq.htm [NC,R=301]

 

# Redirect SEO-optimized html paths to free-text searches, up to three
levels deep

RewriteCond %{REQUEST_URI}    ^/(.*)\/(.*)/(.*)\.html$ [NC]

RewriteRule ^.* /search.jsp?freeText=%1\+%2\+%3 [NC,PT]

RewriteCond %{REQUEST_URI}    ^/(.*)\/(.*)\.html$ [NC]

RewriteCond %{REQUEST_URI}    !^/includes\/page(.*)\.html$ [NC]

RewriteCond %{REQUEST_URI}    !^/routetest\/index\.html$ [NC]

RewriteRule ^.* /search.jsp?freeText=%1\+%2 [NC,PT]

 

# Redirect the root path to the new root

RewriteCond %{REMOTE_HOST}  !^100.100.100.100 [NC]

RewriteCond %{REMOTE_HOST}  !^101.101.101.101 [NC]

RewriteRule ^/$            http://www.oursite.com/ [R=301,L]

 

-------------------------------------------------

 

Thank you, Doug