簡體   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