duanjuebiao6730 2016-07-19 09:39
浏览 40
已采纳

基于DNS的PHP重定向

say i have a file named redirections.txt that looks like this:

www: http://www.example.com/hub/
icloud: http://www.example.com/icloud/
dev: http://www.example.com/development/latest/projects.php

how would i go about processing that text document as domain-prefix: redirect-url? (or "if $_SERVER['HTTP_HOST'] equals domain-prefix.example.com, goto redirect-url")

currently i have:

$file = file('redirections.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach($file as $line => $cont){
    preg_match('/(*.?): http:\/\/www.example.com\/(*.?)\//', $cont, $matches);
    print_r($matches); // Debug. Was trying to see if it worked.
}
  • 写回答

2条回答 默认 最新

  • dpjjr42626 2016-07-19 09:57
    关注

    You can use explode() to split the line:

    $split = explode(': ', $cont);
    if (count($split) == 2) {
        list ($domain_prefix, $redirect_url) = $split;
        if ($_SERVER['HTTP_HOST'] == "$domain_prefix.example.com") {
            header("Location: $redirect_url");
            exit();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同