php - .htaccess 和 php 发送获取表单
问题描述
我想删除我的 .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>
谢谢你。任何帮助将不胜感激
PS对不起我的英语不好
解决方案
在你的 .htaccess 文件中试试这个:-
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
推荐阅读
- linux - 为什么我的 crontab 不能正确执行 bash?
- sql - 折叠空单元格上的行以在 SQL 中提供单行结果
- indexing - 使用 LIKE 进行子字符串搜索是否受益于索引?
- swift - 基本的 Swift 包依赖理解
- javascript - 在 Logout.js 文件中进行哪些更改以便在我单击注销按钮后重定向到注册页面?
- javascript - 如何在 Wordpress 网站的 jQuery javascript 语句中添加滚动操作
- sql-server - 是否可以将值从 PYODBC 传递到 SQL Server 的表类型参数?
- python - 来自不同长度列表列表的 xarray 变量
- python - pandas dataframe:通过浮点范围的变量选择行
- android - 使用 parcelable 在活动之间传递类的对象