XXXcool
asked on
pointing domains to my Apache!
when someone points a domain to my apache server, and it is not my domain "it is not in the apache config file", apache should forward the request to my error sites
i put in the .htaccess:
ErrorDocument 400 /var/www/html/errorpage.ph p
ErrorDocument 401 /var/www/html/errorpage.ph p
ErrorDocument 403 /var/www/html/errorpage.ph p
ErrorDocument 404 /var/www/html/errorpage.ph p
ErrorDocument 500 /var/www/html/errorpage.ph p
but it is not working, what did i wrong please? or how to do it?
thanks alot
i put in the .htaccess:
ErrorDocument 400 /var/www/html/errorpage.ph
ErrorDocument 401 /var/www/html/errorpage.ph
ErrorDocument 403 /var/www/html/errorpage.ph
ErrorDocument 404 /var/www/html/errorpage.ph
ErrorDocument 500 /var/www/html/errorpage.ph
but it is not working, what did i wrong please? or how to do it?
thanks alot
did you place the .httaccess file in top directory ??
ASKER
i have tried both, and now both together :) in the top and at the end, it doesnt work :(
what do you meant by top and end ???
there should be only one .httaccess file
suppose your directory is like this
/var/www/mywebsite/
under this mywebsite there are other subdiretories and index.php file
you have to create this under mywebsite directory
so it would be
/var/www/mywebsite/.httacc ess
does it like this ??
Directory structure is just a demo
there should be only one .httaccess file
suppose your directory is like this
/var/www/mywebsite/
under this mywebsite there are other subdiretories and index.php file
you have to create this under mywebsite directory
so it would be
/var/www/mywebsite/.httacc
does it like this ??
Directory structure is just a demo
ASKER
i meant:
i tried to put
ErrorDocument 400 /var/www/html/errorpage.ph p
.....
at the top on the .httaccess and at bottom of it
because i have in the same file ".htaccess" mod_rewrite rules!
it is simply not working regadless where in the .htaccess i put the error handling!
i tried to put
ErrorDocument 400 /var/www/html/errorpage.ph
.....
at the top on the .httaccess and at bottom of it
because i have in the same file ".htaccess" mod_rewrite rules!
it is simply not working regadless where in the .htaccess i put the error handling!
ok may be i am not understanding properly
let me asked one thing
are you using .httaccess file or are you trying to put those line directly in httpd.conf or apache2.conf file ??
let me asked one thing
are you using .httaccess file or are you trying to put those line directly in httpd.conf or apache2.conf file ??
ASKER
ErrorDocument 400 /var/www/html/errorpage.ph p
ErrorDocument 404 /var/www/html/errorpage.ph p
....
are in the .htaccess
ErrorDocument 404 /var/www/html/errorpage.ph
....
are in the .htaccess
ASKER
? any help plz
i am nothing seeting any problem from myside
you said, you have placed the .httacess file in top direcotry , and .httaccess has all the files, still its not working ..
its wired. let me check something on my pc, i will come back
you said, you have placed the .httacess file in top direcotry , and .httaccess has all the files, still its not working ..
its wired. let me check something on my pc, i will come back
> when someone points a domain to my apache server, and it is not my domain "it is not in the apache config file", apache should forward the request to my error sites
Hm. "points a domain". That reads to me "someone owns example.com and changes the DNS so that example.com points to 10.10.1.15 which is the IP of your server". Is that what you mean by points?
Assuming yes, how did you setup your server? Do you use <virtualhost> sections?
> ErrorDocument 400 /var/www/html/errorpage.ph p
It looks like you're using a physical path. Apache uses an internal redirect function to fetch the error document, if such a status code (e.g. 400) occurred. The internal redirect needs an URL-path. Assuming your DocumentRoot is /var/www/html, the URL-path would be /errorpage.php,
ErrorDocument 400 /errorpage.php
Anyway, unless no 400 was triggered, your ErrorDocument won't be served.
How can you trigger such a status code? That depends upon your setup (virtual hosts).
One way to catch domains which are pointing via DNS to your server would be a catch-all virtual host like
Hm. "points a domain". That reads to me "someone owns example.com and changes the DNS so that example.com points to 10.10.1.15 which is the IP of your server". Is that what you mean by points?
Assuming yes, how did you setup your server? Do you use <virtualhost> sections?
> ErrorDocument 400 /var/www/html/errorpage.ph
It looks like you're using a physical path. Apache uses an internal redirect function to fetch the error document, if such a status code (e.g. 400) occurred. The internal redirect needs an URL-path. Assuming your DocumentRoot is /var/www/html, the URL-path would be /errorpage.php,
ErrorDocument 400 /errorpage.php
Anyway, unless no 400 was triggered, your ErrorDocument won't be served.
How can you trigger such a status code? That depends upon your setup (virtual hosts).
One way to catch domains which are pointing via DNS to your server would be a catch-all virtual host like
Namevirtualhost *:80
# catch-all
<virtualhost *:80>
Servername invalid
DocumentRoot /var/www/html
RedirectMatch 400 (?!/errorpage\.php)
</virtualhost>
# domain1.com
<virtualhost *:80>
Servername domain1.com
ServerAlias www.domain1.com
DocumentRoot /var/www/html
</virtualhost>
#domain2.com
<virtualhost *:80>
Servername domain2.com
ServerAlias www.domain2.com
DocumentRoot /var/www/domain2
</virtualhost>
#domain3.com
<virtualhost *:80>
Servername domain3.com
ServerAlias www.domain3.com
DocumentRoot /var/www/domain3
</virtualhost>
# etc.
ASKER
thanks fosiul01.
and thanks caterham_www,
Hm. "points a domain". That reads to me "someone owns example.com and changes the DNS so that example.com points to 10.10.1.15 which is the IP of your server". Is that what you mean by points?
> yes that is what i meant, and yes i do use <virtualhost> sections, since the DocumentRoot is /var/www/html for me is it the same to write: /var/www/html/errorpage.ph p or /errorpage.php but it wasnt working so i was trying in diffrenet ways but:
# catch-all
<virtualhost *:80>
Servername invalid
DocumentRoot /var/www/html
RedirectMatch 400 (?!/errorpage\.php)
</virtualhost>
seems to me to be the Solution, i will try it first thing tomorrow and give a feed back :)
and thanks caterham_www,
Hm. "points a domain". That reads to me "someone owns example.com and changes the DNS so that example.com points to 10.10.1.15 which is the IP of your server". Is that what you mean by points?
> yes that is what i meant, and yes i do use <virtualhost> sections, since the DocumentRoot is /var/www/html for me is it the same to write: /var/www/html/errorpage.ph
# catch-all
<virtualhost *:80>
Servername invalid
DocumentRoot /var/www/html
RedirectMatch 400 (?!/errorpage\.php)
</virtualhost>
seems to me to be the Solution, i will try it first thing tomorrow and give a feed back :)
@XXXcool , sorry i was stuck so i had to refer this question to caterham_www who is realy good in apache server and its good that he is answering here.
I am sorry that i could not able to help you too much
I am sorry that i could not able to help you too much
ASKER
the catch all virtualhost seems to be working, now i am getting:
********************
Bad Request
Your browser sent a request that this server could not understand.
********************
but it is not forwarding it to the errorpage.php
?
********************
Bad Request
Your browser sent a request that this server could not understand.
********************
but it is not forwarding it to the errorpage.php
?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
it is working fine, thanks :)