UOJ Logo MascoSkray的博客

博客

UOJ开源版由于域名识别导致的404问题解决

2016-10-09 21:23:38 By MascoSkray

UOJ开原版对于当前域名的捕捉可能没有考虑到复杂的情况。于是,当我们挂上代理时,就404了。。

只要获取域名的时候判断一下就OK了!

uoj/1/app/models/UOJContext.php文件中,把

   $_SERVER['HTTP_HOST'];
   
改成
   isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');
   
就OK了! 当然,如果你不想使用博客又同时想让多域名同时指向你的UOJ,那你可以去 app/.config.php 里面把
   array (
      'protocol' => 'http',
      'host' => 'local_uoj.ac',
      'port' => 80
    ),
   
中的
      'host' => 'local_uoj.ac',
   
改成
   'host' => isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''),
   

也是可以的。

(如果你想在博客里面这么干的话,你等同于作死,它会循环重定向的!)

评论

ruanxingzhi
+1s

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。