.htaccess修复漂亮的网址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess修复漂亮的网址相关的知识,希望对你有一定的参考价值。

我想删除我的.php文件扩展名并添加斜杠? 这是我的网址http://localhost/search.php?query=movie 我希望它像这个http://localhost/search?query=movie 这是我的代码 htaccess

RewriteEngine On
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ ./search.php?query=$1
RewriteRule ^search/([a-zA-Z0-9]+)/$ search.php?query=$1

php

<?php
    require("classes/database.php");
    if (isset($_GET['query'])) {
      $query = trim($_GET['query']);
      if (strlen($query) >= 3) {
        try{
        $sql = "SELECT * FROM post WHERE title LIKE :query";
        $stmt = $conn->prepare($sql);
        $stmt->bindValue(':query','%'.$query.'%');
        $stmt->execute();
        while ($r=$stmt->fetch(PDO::FETCH_ASSOC)) {
          $name = DB::query('SELECT username FROM users WHERE id=:user_id', array(':user_id' => $r['user_id']))[0]['username'];
          if($r !== ''){
            ?>
            <a target="_blank" href="view.php?title=<?php echo $r['title']; ?>&id=<?php echo $r['id']; ?>&sidu=<?php echo $r['user_id']; ?>"><?php echo $r['title']; ?></a><br>
            <?php
          }else {
            echo "Not Found!";
          }
      }
      }catch(PDOException $e){
        echo $sql . "<br>" . $e->getMessage();
    }
      }
    }



    $conn = null;
 ?>

这是我的html

<form class="mx-2 my-auto d-inline w-100" action="search" method="get">
        <div class="input-group">
            <input type="text" name="query" class="form-control border border-right-0" placeholder="Search...">
            <span class="input-group-append">
            <button class="btn btn-outline-secondary border border-left-0" type="submit">
                <i class="fa fa-search"></i>
            </button>
          </span>
        </div>
    </form>

谢谢。任何帮助将不胜感激

P.S抱歉我的英语不好

答案

在标题中添加此内容

<base href="/" />

这个在.htaccess

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^movie/([^/.]+)/([^/.]+)/([^/.]+)$ view.php?title=$1&id=$2&sidu=$3 [NC]

以上是关于.htaccess修复漂亮的网址的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 和漂亮的网址

HTACCESS RewriteRules 带有漂亮的 SEO 网址(不允许访问物理文件位置)

带有 .htaccess 的漂亮 URL

.htaccess 文件用于漂亮的 url

为啥我的 .htaccess 代码不能完美地用于漂亮的 URL

从普通的 html 页面创建漂亮的 url?