when a subdirectory is a different domain
Suppose there are two sites, www.domain1.com and www.domain2.com. For various reasons, www.domain2.com is mapped to a subdirectory of www.domain1.com (so physically, the files of domain2 are in a subdirectory of domain1, but when someone calls domain2 he of course doesn't see that, he sees only www.domain2.com).
I'd like to redirect any request for [domain1.com...] to [domain1.com....]
Normally I'd set up an htaccess file as follows:
RewriteRule (.*) [domain1.com...] [R=301,L]
But - if I'd do this in this case, any request for [domain2.com...] pages will redirect to [domain1.com...] ...
So - any idea what I need to change in my htaccess file so only requests for domain1 will redirect, and not requests for domain2?
Your first RewriteCond is a negative match -- That's what the "!" is there for. Any domain *not* equal to "www.domain1.com" is redirected to "www.domain1.com".
To avoid your current problem, simply change the RewriteCond pattern to a positive match for the domain that you *do* wish to redirect, making it "^domain1\.com" instead of "!^www\.domain1\.com".
See the mod_rewrite and regular expressions documentation cited in our forum charter.
i have a question about htaccess file
i'm using Pmachine CMS, on which u can view the same article using different files
i did 4 months ago modrewrite and now my files have this look
503 (is article number)
3 (weblog number)
avoiding duplicate content, now i need to redirect all users who come with stuff/***_0_*_0_M/ to more/***_0_*_0_M/
need advice how to do it?
i try such a code, but it seems don't work
RewriteRule /stuff/([A-Za-z0-9_]+)/ /more/$1/ [R=301]
what i'm doing wrong.
Where did you put this code, in httpd.conf, or in .htaccess?
In .htaccess, you'll need:
RewriteRule ^stuff/([A-Za-z0-9_]+)/$ /more/$1/ [R=301,L]
Note: You may or may not need the Options directive at the beginning. I included it in case you need it. Try the code with and without that line.
can i ask another question?
i know that 301 redirect is allowed by google, but is it so bad, when ur htaccess file is more than 10kb file?
(i put a lot of redirects, modrewrite) and afraid, that it may cause any problem .. (for example speed will be slow and something more serious)
This depends on how busy your site is. At less than 10,000 unique visitors per day, a 10kB .htaccess probably won't be a problem. I have sites where the .htaccess files grow to 48kB occasionally, and there's no noticeable effect on server performance.
You might be able to combine several or many of your rewrites and redirects into just a few by making better use of mod_rewrite's regular-expressions-based pattern-matching and back-referencing capability.