: How to use DNS to set the subfolder of one domain to point to another domain I have a situation where I need a subfolder in one domain to point to a second domain, so that http://domain1.com/domain2/
I have a situation where I need a subfolder in one domain to point to a second domain, so that domain1.com/domain2/ points to domain2.com. I need the root folder of domain1.com to remain pointed where it is, just the subfolder needs to repoint.
It needs to be this way because I need to access PHP and font files on domain 2 without violating cross-domain security. Is there a way to do this using DNS? I only found instructions on doing this using subdomains, which I believe won't work for cross-domain php access.
More posts by @Shakeerah822
3 Comments
Sorted by latest first Latest Oldest Best
You can only do this from DNS with a subdomain, not with subfolders. For subfolders, you need to do a proxy-pass - here's how it's done in Apache (version 2.4 and above):
ProxyRequests Off
ProxyPass /subfolder/ otherdomain.com/ ProxyPassReverse /subfolder/ otherdomain.com/ <Location /subfolder/>
ProxyHTMLEnable On
ProxyHTMLURLMap / /subfolder/
</Location>
You couls also use otherdomain.com:8080 if your second host serves the content on port 8080. Also, you need to have mod_proxy and mod_proxy_html enabled in your Apache server for this to work. The mod_proxy_html module is used to rewrite the links to your static resources (images, css, javascript etc.) so that if you have relative links in the response from otherdomain.com, for example, they would be loaded properly.
For older versions that don't have mod_proxy_html, you can try and use mod_substitute and some regular expressions magic to achieve the same result.
This definitely can't be done with DNS.
I think the real question you want to solve is "How do I allow cross-domain PHP and fonts?"
To enable cross-domain PHP and font files (this is probably all you need) you would add the 'Access-Control-Allow-Origin' header to domain2's configuration, like so
Apache:
Header add Access-Control-Allow-Origin "http://domain1.com"
Nginx:
add_header Access-Control-Allow-Origin "http://domain1.com";
If you do it this way you don't need http:/domain1/domain2 at all, get rid of it as it's confusing.
If you actually want to permanently redirect domain1/subfolder > domain2 then it's a simple change in domain1's configuration like this.
Apache:
Redirect 301 /subfolder domain2.com
Nginx:
location /subfolder {
return 301 domain2.com; }
Note that for both sets of answers, the Nginx directives need to be inside your server {...} blocks, and the Apache rules can go in your virtualhost config or in .htaccess (do yourself a favor and skip .htaccess if you can, put everything in your config/virtualhost for performance reasons). The Apache rules rely on mod_rewrite and mod_headers, which must be enabled.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.