我正在使用Apache envvars创建MYDOMAIN和MYSUBDOMAIN变量,我定义了mydomain.com'和' sub.mydomain.com'。然后我在apache站点中使用这些变量 - 可用的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 /中的file.txt,然后重定向到/var/www/html/index.php。
我也尝试过使用' ../ file.txt'和' ../ index.php'但是这会返回相同的结果(即' 404错误'被记录,因为它正在寻找基本上是/var/www/html/sub/file.txt的内容)。因为我无法从JS访问apache envvars(我认为 - 如果可以的话,这将是一个重大的安全恐慌!!) - 我还有其他选择吗?
谢谢!
答案 0 :(得分:0)
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');
}
});
});