繁体   English   中英

当我使用 .htaccess 制作“漂亮链接”时,css 似乎无法正常工作

[英]css seems to not work properly when i use .htaccess to make 'pretty links'

我正在练习制作漂亮的链接。
我有这个页面:
http://news.red-sec.net/article/26/This-is-a-title
它工作得很好,它的原始页面是
article.php?id=26&title=This-is-a-title //sorry 根据堆栈溢出不能发布超过 2 个链接
幸运的是,它们的工作方式相同。
我尝试在此处对用户/用户名执行相同操作:
http://red-sec.net/user/badboy17 <-- 页面的样式似乎被截断了一半。
原始页面是
user.php?u=badboy17 //再次抱歉(这个页面按我的意愿工作)
这是 user.php 页面的代码:

    <?php
    ini_set('session.cookie_domain', '.red-sec.net');
    session_set_cookie_params(0, '/', '.red-sec.net');
    session_start();
    include 'res/connection.php';
    include 'res/menu.php';
    ?>
    <!DOCTYPE html>
    <html>
    <head>
      <title>R3D S3C | Home page</title>
      <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"/>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
      <link rel="stylesheet" type="text/css" href="css/style1.css"/>
      <link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
    </head>
    <body>
    <?php menu(); ?>
    <?php 
    if(isset($_GET['u'])){
        $user = $_GET['u'];
        $query = "SELECT * FROM users WHERE username = '$user'";
        $r = mysqli_query($connect,$query);
        $num_rows = mysqli_num_rows($r);
        echo $num_rows;
        if($num_rows < '1'){
            header('Location: index.php');
        }else{
            $row = mysqli_fetch_array($r);
            $username = $row['username'];
            $email = $row['email'];
            echo "<h2 class='title'>$username</h2>";
        }
    }else{
        header('Location: http://red-sec.net');
    }
    ?>
    <?php endbd(); ?>
    </body>
    </html>

menu.php 的代码,其中 menu() 和 endbd() 两个函数是:

<?php
require 'connection.php';
function menu(){
  if(!isset($_SESSION['username'])){
  echo '<nav class="navbar navbar-default navbar-fixed-top shadow">
    <div class="container">
      <a href="http://red-sec.net" class="navbar-brand">Red-Sec.net</a>
      <ul class="nav navbar-nav">
        <li class="menuitem"><a href="http://red-sec.net">Home</a></li>
        <li class="menuitem"><a href="http://announcements.red-sec.net">Announcements</a></li>
        <li class="menuitem"><a href="http://forum.red-sec.net">Forum</a></li>
        <li class="menuitem"><a href="http://blog.red-sec.net">Blog</a></li>
        <li class="menuitem"><a href="http://news.red-sec.net">News</a></li>
        <li class="menuitem"><a href="http://donate.red-sec.net">Donate</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li class="menuitem"><a href="http://red-sec.net/signup.php">Sign Up</a></li>
        <li class="menuitem"><a href="http://red-sec.net/Login.php">Log In</a></li>
      </ul>
    </div>
  </nav>
  <script
    src="https://code.jquery.com/jquery-3.1.1.js"
    integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="
    crossorigin="anonymous"></script>
  <script src=" ../js/menu.js"></script>
  <div class="container bg">
  <div class="row full">
  <div class="col-lg-8 bd">';
}else{
  $username = $_SESSION['username'];
  echo '<nav class="navbar navbar-default navbar-fixed-top shadow">
    <div class="container">
      <a href="http://red-sec.net" class="navbar-brand">Red-Sec.net</a>
      <ul class="nav navbar-nav">
        <li class="menuitem"><a href="http://red-sec.net">Home</a></li>
        <li class="menuitem"><a href="http://announcements.red-sec.net">Announcements</a></li>
        <li class="menuitem"><a href="http://forum.red-sec.net">Forum</a></li>
        <li class="menuitem"><a href="http://blog.red-sec.net">Blog</a></li>
        <li class="menuitem"><a href="http://news.red-sec.net">News</a></li>
        <li class="menuitem"><a href="http://donate.red-sec.net">Donate</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li class="menuitem"><a href="http://red-sec.net/profile.php">'.$username.'</a></li>
        <li class="menuitem"><a href="http://red-sec.net/Logout.php">Log Out</a></li>
      </ul>
    </div>
  </nav>
  <script
    src="https://code.jquery.com/jquery-3.1.1.js"
    integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="
    crossorigin="anonymous"></script>
  <script src="../js/menu.js"></script>
  <div class="container bg">
  <div class="row full">
  <div class="col-lg-8 bd">';
}
}
function endbd(){
    require'connection.php';
  echo '</div>
  <div class="col-lg-4 bd sidebar stick">
  <h2 class="title" style="margin-left:0%!important;">Latest News Posts</h2>
<hr class="under">';
$query = "SELECT * FROM news ORDER BY date DESC LIMIT 5";
$run = mysqli_query($connect,$query);
if(!$run){
    echo 'sorry';
}
while($row = mysqli_fetch_array($run)){
  $article_id = $row['article_id'];
  $user_id = $row['user_id'];
  $title = $row['title'];
  $content = $row['content'];
  $date = $row['date'];
  $query = "SELECT username FROM users WHERE ID = '$user_id'";
  $test = mysqli_query($connect,$query);
  $row2 = mysqli_fetch_array($test);
  $user_name = $row2['username'];
  $title2 = str_replace(" ","-",$title);
  echo '<div class="row">
  <div class="col-lg-12"><h3 class="para"><a class="para" href="http://news.red-sec.net/article/'.$article_id.'/'.$title2.'">'.$title.'</a></h3>
  <p class="para">Written by: '.$user_name.'</p>
  </div>
  </div>';
  }
  echo '</div>
  </div>
  </div>';
}
 ?>

假设 css 目录在根目录中,试试这个...

<link rel="stylesheet" type="text/css" href="/css/style1.css"/>

因此,这会告诉浏览器查找根目录/然后查找其中的 css 目录。 没有那个正斜杠,浏览器正在寻找一个相对链接,例如; 试图在当前页面的目录中查找 css 目录,并且由于您重写了这些目录,因此找不到 css 目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM