.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 RewriteRules 带有漂亮的 SEO 网址(不允许访问物理文件位置)