繁体   English   中英

使用JavaScript将子域重定向到域

[英]Redirect Subdomain to Domain using JavaScript

我正在使用Apache envvars创建MYDOMAIN和MYSUBDOMAIN变量,在其中定义“ mydomain.com”和“ sub.mydomain.com”。 然后,我在apache sites-可用的conf文件中使用这些变量来部署网站。 “ sub”子域位于/ var / www / html / sub /中。 我需要在子域网站上具有JavaScript函数,以检查/ var / www / html中是否存在特定文件,如果存在,请重定向到该位置(即mydomain.com)。 我无法对任何特定的URL进行硬编码-这些将严格使用apache envvars处理,因此,我需要一个无论域/子域如何都可以工作的解决方案。

为此,我使用这样的AJAX,如果file.txt返回成功,则重定向到/index.php:

$(document).ready(function() {

            $.ajax({
                type: 'HEAD',
                url: '/file.txt',
                success: function() {
                            setInterval(function () {
                                    location.replace("/index.php");
                            }, 5000);
                },
                error: function() {
                            console.log('404 Not Found');
                }
            });
});

不幸的是,子域的文档根目录是/ var / www / html / sub,因此在/ var / www / html / sub /中有效地查找了/file.txt和/index.php-我需要此文件来查找文件。在/ var / www / html /中输入txt,然后重定向到/var/www/html/index.php。

我也尝试使用“ ../file.txt”和“ ../index.php”,但是返回的结果相同(即,记录“ 404错误”,因为它正在寻找本质上是/ var / www / html / sub / file.txt)。 由于我无法从JS访问apache envvars(我认为-如果可以的话,这将是一个主要的安全恐慌!!)-我还有什么其他选择?

谢谢!

 var hostFileUrl = function(fileName){ return window.location.protocol + "://" + window.location.hostname + "/" + fileName; }; $(document).ready(function() { $.ajax({ type: 'HEAD', url: hostFileUrl('file.txt'), success: function(){ setInterval(function(){ window.location.assign(hostFileUrl("index.php")); }, 5000); }, error: function(){ console.log('404 Not Found'); } }); }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM