Здравствуйте!
Ниже код, он рабочий, но есть загвоздка при небольшом изменении.
Не могу получить ID.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^papka/[^/]+\.html$ categories.php [L]
PHP код:
<?php $requestUri = $_SERVER['REQUEST_URI'];
$requestUri = preg_replace('/\?.+/', '', $requestUri);
$requestUri = preg_replace('#^/?#', '', $requestUri);
$parts = explode('/', $requestUri);
$categoryPart = $parts[0];
$articlePart = isset ($parts[1]) ? $parts[1] : null;
$categoryId = 0;
$articleId = 0;
$categoryPart = mysql_real_escape_string(preg_replace('#\.html$#i', '', $categoryPart) . '.html');
$sql = "SELECT id FROM `category` WHERE `url` = '{$categoryPart}'";
$categoryIdQuery = mysql_query($sql);
if (mysql_num_rows($categoryIdQuery) > 0) {
$categoryId = (int)mysql_result($categoryIdQuery, 0, 0);
}
if ($articlePart) {
$articlePart = mysql_real_escape_string(preg_replace('#\.html$#i', '', $articlePart) . '.html');
$sql = "SELECT id FROM `content` WHERE `url` = '{$articlePart}'";
$articleIdQuery = mysql_query($sql);
if (mysql_num_rows($articleIdQuery) > 0) {
$articleId = (int)mysql_result($articleIdQuery, 0, 0);
}
}
if ($categoryId) {
$id_cat = $categoryId;
}
?>
Сама ссылка должна получиться
PHP код:
http://www.site.ru/papka/category.html
Она то получается, но данные не выводятся. Судя по всему, не могу получить id. Т.к. без чпу данные выводятся.
Вот так работает
PHP код:
<a href="/papka/categories.php?id_cat='.$row['id'].'">
А так нет
PHP код:
<a href="/papka/'.$row['url'].'">
Получается так то чпу работают, но щас делаю админку, и хотел реализовать там чпу. По сути все тоже, что и на сайте
только вместо
PHP код:
http://www.site.ru/category.html
нужно получить
PHP код:
http://www.site.ru/papka/category.html
Т.е. при данном коде все работает, но нужно сделать тоже само только в папке
Соответственно и урл должен быть
PHP код:
http://www.site.ru/papka/category.html
Но так работать не хочет. Перепробовал разные варианты, но данные все равно не выводятся.