【发布时间】:2016-09-19 13:36:50
【问题描述】:
我当前的 seo url 位于子目录上,它工作正常,但尝试在根目录上使用脚本后,链接无法打开
这是articles.php 代码
$url = $_SERVER['REQUEST_URI'];
$url = str_replace('/', '', $url);
$stmt = $db->prepare("SELECT * FROM articles WHERE seo_url = :seo_url");
$stmt->bindParam(':seo_url', $url, PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetch();
$cou = $stmt->rowCount();
if($cou <1){
header("Location: error.php");
exit();
}
我的 htaccess 是
RewriteEngine On
# SEO URL Settings
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ articles.php?$1 [L,QSA]
上面的代码将我重定向到 error.php 页面
之前的子文件夹是这样的
$url = $_SERVER['REQUEST_URI'];
$url = str_replace('/test/', '', $url);
和
RewriteBase /test/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ articles.php?$1 [L,QSA]
【问题讨论】:
-
给出一些以前有效但现在无效的示例 URL。
-
将上面提到的第二部分贴上之前的工作
-
我存储的 url 就像 1/state/city/some-text-for-title 但是使用第一段代码我在存储的 url 前面得到一个 / 像 /1/state/city /some-text-for-title