-1

我的.htaccess文件需要帮助。现在我有类似http://www.afrogfx.com/20121028050853/Test.html 问题的链接,位于Slash /!!如果您单击我的链接,您会发现没有样式的链接如果删除斜杠,您将得到 404 Not Found Like That http://www.afrogfx.com/20121028050853Test.html 试试吧! 这是我的 .htaccess

    RewriteEngine On

    RewriteRule ^([a-zA-Z0-9-/]+).html$ readmore.php?url=$1
    RewriteRule ^([a-zA-Z0-9-/]+).html/$ readmore.php?url=$1

阅读更多.php

    <?php
    include ('config/connect_to_mysql.php');
    $url=$_GET['url'];
    if($_GET['url'])
    {
    $url=mysql_real_escape_string($_GET['url']);
    $url=$url.'.html'; //Friendly URL 

    $sql=mysql_query("select * from posts where url='$url'");
    $count=mysql_num_rows($sql);
    $row=mysql_fetch_array($sql);
    $title=$row['title'];
    $text=$row['text'];
    }
    else
    {
    echo '404 Page.';
    }

    ?>

问题在这里

    <?php
    include('styles/header.php');
    include ('styles/leftblock.php');
    include ('styles/mrnuleft.php');
    ?>






    <?php
    if($count)
    {

    echo "<h1>$title</h1><div class='text'>$text</div>";
    }
    else
    {
    echo "<h1>404 Page.</h1>";
    }
    ?>
4

2 回答 2

0

您可以将所有标题链接设为绝对链接:

从:

<link href="styles/assets/css/bootstrap.css" rel="stylesheet">

至:

<link href="/styles/assets/css/bootstrap.css" rel="stylesheet">

或者您可以在<head>标签下方添加:

<base href="/">

问题是您的样式和脚本有相对链接。当浏览器尝试请求类似:/20121028050853Test.html的内容时,URI Base就是/. 但是当浏览器请求时/20121028050853/Test.html,base 变为/20121028050853/,浏览器将使用此 base 并将所有相对 URL 附加到此 base,因此styles/assets/css/bootstrap.css变为/20121028050853/styles/assets/css/bootstrap.css,并且您没有样式或脚本。

于 2012-10-28T21:14:38.577 回答
0

我认为问题是路径问题。当我进入带有斜杠的页面时,它包括以下内容:

styles/assets/css/bootstrap.css

所以它试图包含的实际上是:

http://www.afrogfx.com/20121028050853/styles/assets/css/bootstrap.css

尝试告诉它从根目录加载:

/styles/assets/css/bootstrap.css

于 2012-10-28T10:29:31.160 回答