编辑php脚本以在文件中打开URL

时间:2014-12-02 14:54:38

标签: php url redirect nginx

我刚将所有服务器和网络应用从apache移到了nginx。

我有一个创建短网址的应用,它通过创建一个6个字母的文件来完成,文件里面只是URL。我已经设法重新创建nginx重写规则,以便它找到文件并打开它作为php(而不是只是下载它,因为文件上没有.php扩展名)但是脚本将其视为无效的哈希(如所见)在下面的代码中)无论如何只是这样现在只是让我当前的链接工作,它们都只包含一个顶部的URL,我希望它忽略检查并重定向到URL无论如何。

这是正在加载的脚本

<?php
if($_GET['id']){
    $id = addslashes($_GET['id']);
    if(file_exists("urls/$id"))
    { 
        $url = file_get_contents("urls/$id");
        header("location:".$url); 
    } else {
        echo "Error : invalid hash";
    }
} else {
    echo "Error : no hash";
}
?>

并加载一个调用类似文件的文件,例如“0ke0ea9ts”,它将包含一个url而不包含任何内容。

我允许创建的原始链接(例如url.com/p/0ke0ea9ts)使用以下Nginx重定向代码(注意它们安装在/ p /的子目录中,因此参考)

if (!-e $request_filename){
rewrite ^(.*)$ /p/show.php?id=$1 last;

所以就像我说的那样,重定向通过show.php打开它们但是给了我无效的哈希消息,我怎么能强制它只运行没有检查的URL?

0 个答案:

没有答案
相关问题