2017-02-01 9 views
2

私はURL短縮を作成しましたが、書き換えルールを使用していますが、これをオンにしたときにページの画像が読み込まれないため、ページを初めて読み込むときに問題になります。ルールを削除してページを読み込んだ後、ルールを元の状態に戻すと、ブラウザを開いてルールを適用したページを読み込むとイメージが読み込まれません。誰もがこれで私を助けることができますか?ここに私のコードです。RewriteEngineを使用しているときにイメージが読み込まれませんか?

のindex.php

<?php 
    include 'connect.php'; 

    if(isset($_GET['title'])) { 
     $result = $conn->prepare("SELECT * FROM atomly_shortener WHERE id=?"); 
     $result->bind_param("s", $_GET['title']); 
     $result->execute(); 

     $goto = $result->get_result()->fetch_array(); 
     $g = $goto[1]; 
     header("location: $g"); 
    } 
    if(isset($_POST['submit_url'])) { 
    if(substr($_POST['submit_url'], 0, 7) != "http://") { 
     $longurl= "http://".$_POST['long_url']; 
    } else { 
     $longurl=$_POST['long_url']; 
    } 
    $sql = "INSERT INTO atomly_shortener (long_url) VALUES ('$longurl')"; 
    if ($conn->query($sql) === TRUE) { 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 
    $sql = "SELECT id, long_url FROM atomly_shortener WHERE long_url='$longurl'"; 
    $result = $conn->query($sql); 
    if($result->num_rows > 0) { 
     // Set session variables 
     $result = $conn->query($sql); 
     if($result->num_rows > 0) { 
      $row = mysqli_fetch_array($result); 
      $long = $row["long_url"]; 
      $id = $row["id"]; 
      $shorturl = $id; 
      $sql = "UPDATE atomly_shortener SET short_url = '$shorturl' WHERE long_url='$longurl'"; 
      if ($conn->query($sql) === TRUE) { 
       //echo "<script type='text/javascript'>alert('$shorturl');</script>"; 
       //echo "<script type='text/javascript'> document.getElementById('shorter').innerHTML = 'hello'; </script>"; 
      } else { 
       echo "Error: " . $sql . "<br>" . $conn->error; 
      } 
     } 
     else { 
     echo "Unknown Error!"; 
     } 
    } 
    else { 
     echo "Error shortening url, please try again!"; 
    } 
    } 
?> 

<DOCTYPE html> 
<html> 
    <head> 
     <link rel="stylesheet" href="styles.css"> 
    </head> 
    <body> 
     <div id = "container"> 
      <img id = "logo" src = "images/atomly_logo.png"></img> 
      <form method="post" action="index.php"> 
       <fieldset class = "cf"> 
        <input id = "url_long" type = "text" class = "shorten-input" placeholder = "Please enter your url..." name="long_url"></input> 
        <input id = "submit_" type = "submit" name = "submit_url" class = "action-btn" value = "SUBMIT"></input> 
       </fieldset> 
      </form> 
      <div id ="shorter"><h1><?php if(isset($shorturl)){ echo "Short URL: localhost:81/atomly/".$shorturl; } ?></h1></div> 
     </div> 
    <body> 
</html> 

の.htaccess

RewriteEngine On 
RewriteRule ^([^/]+)/? index.php?title=$1 [L,QSA] 

ロードされていない画像は

<img id = "logo" src = "images/atomly_logo.png"></img> 
+0

[Seo Friendly URL css img js not working]の複製が可能です。(http://stackoverflow.com/questions/31241701/seo-friendly-url-css-img-js-not-working) – starkeen

答えて

0

はあなたがあなたのの.htaccessファイルを更新する必要があり、このライン上にありますこのように:

RewriteEngine On 

RewriteRule !\.(?:jpe?g|gif|bmp|png|tiff)$ index.php?title=$1 [L,QSA] 
+0

恐ろしく、ありがとうございました。 –

関連する問題