Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php seo url将文件从子目录转移到根目录后无法打开_Php_.htaccess_Seo - Fatal编程技术网

Php seo url将文件从子目录转移到根目录后无法打开

Php seo url将文件从子目录转移到根目录后无法打开,php,.htaccess,seo,Php,.htaccess,Seo,我当前的搜索引擎优化url是在sub-dir上,工作正常,但在尝试使用根目录上的脚本后,链接无法打开 这是articles.php代码 $url = $_SERVER['REQUEST_URI']; $url = str_replace('/', '', $url); $stmt = $db->prepare("SELECT * FROM articles WHERE seo_url = :seo_url"); $stmt->bindParam(':seo_url', $url,

我当前的搜索引擎优化url是在sub-dir上,工作正常,但在尝试使用根目录上的脚本后,链接无法打开

这是articles.php代码

$url = $_SERVER['REQUEST_URI'];
$url = str_replace('/', '', $url);

$stmt = $db->prepare("SELECT * FROM articles WHERE seo_url = :seo_url");
$stmt->bindParam(':seo_url', $url, PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetch();
$cou = $stmt->rowCount();

if($cou <1){
        header("Location: error.php");
        exit();
}
上面的代码将我重定向到error.php页面

之前的子文件夹是这样的

$url = $_SERVER['REQUEST_URI'];
    $url = str_replace('/test/', '', $url);


您正在使用以下代码替换请求uri中的“/”:

$url = $_SERVER['REQUEST_URI'];
$url = str_replace('/', '', $url);
您应该尝试从uri中仅删除最后一个“/”(如果seo_url字段值存储在数据库中,如“/some dir/yourpage/”),如:

$url = rtrim($url, '/');

上面提到的第二部分在我存储的url之前工作过,类似于1/state/city/some text for title,但在第一段代码中,我在存储的url前面得到了一个/像/1/state/city/some text for titleMate,我正在尝试删除第一个/我存储的url类似于1/state/city/some text作为标题,但当我在1的前面回显时,它是id a/来自我不知道的地方,因此url变成类似于/1/state/city/some text作为标题,并且由于/在开始时没有从数据库显示结果,您可以尝试
$url=ltrim($url,“/”),它将满足查询并给您计数。/1/state/city/neque porro quisquam est qui dolorem ipsum quia dolor sit amet concertetur致命错误:未捕获异常“PDOException”,消息为“SQLSTATE[23000]:完整性约束冲突:1048列“postID”不能为null“灌输/在1前面
$url = $_SERVER['REQUEST_URI'];
$url = str_replace('/', '', $url);
$url = rtrim($url, '/');