簡體   English   中英

.htaccess無法正確重定向

[英].htaccess doesn't redirect properly

我有這個自動完成腳本從jquery。 當用戶單擊特定結果時,它將從數據庫中獲取詳細信息,然后顯示給用戶。他進入頁面:-page.php?id =(通過autcomplete中的fetch接收到的id)。

我有一個.htaccess重定向,它必須像這樣工作。 假設id為2,則它將自動重定向到products / 2 但是由於某種原因,它似乎沒有用。

這是自動完成功能:-

<script>
  $(function() {
    function log( message ) {
      $( "<div>" ).text( message ).prependTo( "#log" );
      $( "#log" ).scrollTop( 0 );
    }

    $( "#birds" ).autocomplete({
      source: "search.php",
      minLength: 2,
      select: function( event, ui ) {


        log( ui.item ? "Selected: " + ui.item.value + " aka " + ui.item.label :
          "Nothing selected, input was " + this.actor );
        window.location.href = 'product_display.php?id=' + ui.item.value;
       // document.testForm.action = "pretravel.php?id="+ui.item.value;
        //document.testForm.submit();
      }
    });
  });



  </script>

的.htaccess

RewriteRule ^products/(.+)$ product_display.php?id=$1 [L,QSA]

product_display.php頁面

<?php
include 'dbconnector.php';
$id=$_GET['id'];
$id=htmlspecialchars($id);
$query = "SELECT productname from products where productid = '" . $id . "' order by productname";
$result=mysql_query($query,$db) or die (mysql_error($db));
$row=mysql_fetch_assoc($result);
echo $row['productname'];

?>

歡迎任何建議。

這是您的JavaScript錯字,請更改此

window.location.href = 'product_display.php?id=' + ui.item.value;

window.location.href = './product_display.php?id=' + ui.item.value;

然后只有完整的URL。 [更新]您的重寫規則是這樣的

RewriteRule ^products/(.+)$ product_display.php?id=$1 [L,QSA]

所以你的網址一定是這樣

// sample url    http://example.com/products/{id}
//then code must be
 window.location.href = './products/' + ui.item.value;

[更新]嘗試使用的mysqli替代的MySQL連接好安全數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM