【发布时间】:2021-03-24 13:47:16
【问题描述】:
嗨!首先,我对 Stack Overflow 很陌生,如果我做错了什么,请见谅。
我需要一些关于 .htaccess 的帮助来重写 SEO 友好 URL 的规则。 基本上它是一个博客,我得到的博客文章数据不是带有 $id 而是带有 sef URL 参数。 我知道搜索引擎不喜欢 URL 参数,因为它很难识别什么是什么。
“sef”参数根据我展示的博文内容动态变化。我想获取“=”之后的部分并删除参数名称(?sef)并在其间放置一个“/”,如下所示。
当前 URL 结构(带有“sef”参数)
https://www.dent.com.tr/gelismeler.php?sef=dis-tedavisi-nasil-genclestirir
我想把这个网址改写成
https://www.dent.com.tr/gelismeler/dis-tedavisi-nasil-genclestirir
我从 gelismeler.php 中的 mysql 数据库动态检查/设置页面内容数据
if (isset($_GET['sef'])) {
$sef = $_GET['sef'];
$sql = "SELECT * FROM posts WHERE sef='$sef'";
$query = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($query);
$title = $row["title"];
$desc = $row["description"];
$img = $row["image"];
我尝试了无数种变化,但实际上我从未成功:(
谁能帮我解决这个问题?
非常感谢!
我的 current.htacces 文件:
ErrorDocument 404 /404.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php
RewriteCond %{HTTP_HOST} !^www.dent.com.tr$
RewriteRule ^(.*)$ http://www.dent.com.tr/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html) [NC]
RewriteRule ^index\.php$ http://www.dent.com.tr/ [R=301,L]
【问题讨论】:
-
请阅读How to Ask。一般来说,不要只告诉我们您尝试了很多事情,而是向我们展示您实际尝试了什么,并在每个问题中给出适当的问题描述案例(“没有工作”或“没有成功”不是一个。)
-
@CBroe 非常感谢!我一定会读这个。实际上,在过去的几个小时里,我真的尝试了很多不同的方法来解决我的问题,但我已经忘记了我尝试过的确切代码,这就是我无法发布它们的原因。但我会沿着你给我看的路走。谢谢朋友。
标签: apache .htaccess mod-rewrite url-rewriting