Forum Moderators: phranque

Message Too Old, No Replies

Redirect vs Re-Write Oddity

Redirect directive works, but RewriteRule does not

         

jbgilbert

4:05 pm on Sep 9, 2005 (gmt 0)

10+ Year Member



Using information provided in this forum, I am trying to accomplish the following:

Redirect all pages of domain2 to the same named pages on domain1 so ALL the domain2 pages will get removed from Google's index.

Test #1 (the only thing in .htaccess of domain2):
Redirect permanent / [domain1.com...]

Result: Worked... all indexed pages were redirected and removed from Google's index -- EXCEPT for the default page [domain2.com...] and I need for that default page to go also!

Test #2 (the only thing in .htaccess of domain2):
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) [domain1.com...] [R=301,L]

Result: BAD NEWS... all the pages started coming back into the index and when clciking on them NO re-write (redirect) is taking place.

Just so you have an idea of what the pages look like from the site: command in Google, here is their format:
www.domain2.com/adirectory//misc/17

Can somebody explain what the issue may be?

jd01

6:18 pm on Sep 9, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Can somebody explain what the issue may be?

If you add:
AllowOverride FileInfo

to the top of the mod_rewrite version and it still does not work, the most likely problem is mod_rewrite is not loaded or you are not allowed to use it by your host.

Justin

Try:
AllowOverride FileInfo
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.domain1.com/$1 [R=301,L]

and:
# AllowOverride FileInfo
# Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.domain1.com/$1 [R=301,L]

jbgilbert

9:16 pm on Sep 9, 2005 (gmt 0)

10+ Year Member



jd01

Okay... host has confirmed and we have tested that I am allowed to use mod_rewrite.

You metinoned adding AllowOverride FileInfo, but I believe that goes in the httpd.conf file and since we have confirmed that we have access to use mod_rewrite (and that it generally works) I guess that is no longer an issue.

So........

Back to the issues:
----------------- (1) ------------------
Still don't understand why test #1 works on all but the default page (the redirect happens, but it refuses to get removed from Google's index as it should).

HAVE POSED ALL OF THIS TO GOOGLE AND IF I'M REALLY LUCKY THEY MAY HELP OUT WITH THE REAL ANSWER ON THE REDIRECT AND INDEXING OF THE DEFAULT PAGE (which I will supply in this thread if I get).....

----------------- (2) ------------------
Test #2 (the only thing in .htaccess of domain2):
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) [domain1.com...] [R=301,L]

Result: BAD NEWS... all the pages started coming back into the index and when clciking on them NO re-write (redirect) is taking place.

Notice the odd format of the URLs (the // in the middle):
www.domain2.com/adirectory//misc/17

Could it be that the regex in the rewrite rule is not correct?

Any other ideas?

jd01

9:36 pm on Sep 9, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



but it refuses to get removed from Google's index as it should

This is a Google problem, not a rewrite problem.

AllowOverride is available as Options are - for more info Apache Documentation [httpd.apache.org]

If the pages redirect there is no difference in the response sent to the user-agent by either mod_rewrite or mod_alias.

I cannot see anything wrong in your file. The .* catch all is just that -- a catch all.

If the rule you have is not working, there are only 2 other variations to try since you are sure you have the ability to use mod_rewrite:

AllowOverride FileInfo
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.domain1.com/$1 [R=301,L]

OR

RewriteEngine on
RewriteRule (.*) http://www.domain1.com/$1 [R=301,L]

Not much else I can tell you if none of these work, except use the mod_alias you have in there.

Justin

jdMorgan

10:25 pm on Sep 9, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Just to clarify a point:

AllowOverride is available only in <directory> containers (httpd.conf), and not in a per-directory (.htaccess) context. Allowing users to set AllowOverrides could result in access-related security problems.

Jim

jbgilbert

11:15 pm on Sep 9, 2005 (gmt 0)

10+ Year Member



Well.... got a very long and nice reply from Google on this. And as much as I appreciated their taking the time to personally respond to my question, it is apparent that this is a non-issue to them.

To summarize (paraphrase) their response:

We can't comment on ... or the details of our search technology beyond what appears on our site.
Okay, I'm fine with that

.... see [google.com...] or [groups.google.com...]
Okay, I appreciate the referral

.... this situation should be resolved if your old URLs redirect to your preferred site using HTTP 301 (permanent) redirects.
WRONG... it's "supposed" to resolve the issue, but it does not. And this is the REAL problem here -- there IS an issue here and the ONLY source that can answer the question or help resolve the issue is Google.
And, yet that's Okay too... expecting them to deal with a minor problem that has no financial bearing on the company whatsoever is probably asking too much.

BUT, eventually, as with all the 302 problems, somebody will find a "devious" way to use this issue and Google will then have to address it. Too bad I'm not the one smart enough to figure out how to do that!

Until then, I'm stuck with the "partial" domain redirect.

Thanks for all the input on this guys.....