X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Написать чпу для ссылки
scva
scva
Topic Starter сообщение 27.8.2010, 11:19; Ответить: scva
Сообщение #1


Как написать чпу для ссылки вида http://sait.ru/category.php?id=1
хочу чтоб было так http://sait.ru/название категории.php

[php]$brand = mysql_query("SELECT * FROM `category` WHERE id='$id'");
$title = mysql_fetch_assoc ($brand);[/php]
id категории в базе - $title[id]
название категории в базе - $title[name]


в апаче
[php]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .................................................. какой путь
[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
unnormal
unnormal
сообщение 27.8.2010, 11:58; Ответить: unnormal
Сообщение #2


http://sait.ru/modul/1/
[php]RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA][/php]Потом создаёшь свой обработчик урлов, который будет догружать какие-то данные в зависимости от напрвления
[php]$route = trim(strtolower($_GET["url"]), "/\\");
$parts = explode("/", $route);
$modul = "modules/".$parts[0].".php";
if (is_file($modul))
require($modul);
else
die("404");
[/php]В модуле modul.php
[php]
$brand = mysql_query("SELECT * FROM `category` WHERE id='".$parts[1]."'");
$title = mysql_fetch_assoc ($brand);
[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scva
scva
Topic Starter сообщение 27.8.2010, 12:29; Ответить: scva
Сообщение #3


поключил
[PHP]$route = trim(strtolower($_GET["url"]), "/\\");
$parts = explode("/", $route);[/PHP] сразу дает 404 при входе на сайт

(unnormal @ 27.8.2010, 14:58) *
создаёшь свой обработчик урлов

где именно в modul.php? объясните, если не трудно
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
unnormal
unnormal
сообщение 27.8.2010, 12:37; Ответить: unnormal
Сообщение #4


первую строку замени на
[php]$route = empty($_GET["url"]) ? "index" : trim(strtolower($_GET["url"]), "/\\");[/php]Создай папку для модулей, к примеру "modules".
Помести туда сразу index.php (обработчик главной страницы) и другие с именами, которые будкт использоваться в качестве имён разделов site.ru/modul/, (modul.php)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scva
scva
Topic Starter сообщение 27.8.2010, 13:19; Ответить: scva
Сообщение #5


все равно ошибка
Мой алгоритм действия

Страница category.php
[php]
<?
require_once 'blok/data.php';
if (isset($_GET['id'])) {$id = intval($_GET['id']);}
require_once 'modules/modul.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />..........................
[/php]
blok/data.php
[php]
$route = empty($_GET["url"]) ? "index" : trim(strtolower($_GET["url"]), "/\\");
$parts = explode("/", $route);
$modul = "modules/".$parts[0].".php";
if (is_file($modul))
require($modul);
else
die("404");
[/php]modules/modul.php
[php]
$brand = mysql_query("SELECT * FROM `category` WHERE id='".$parts[1]."'");
$title = mysql_fetch_assoc ($brand);
[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
unnormal
unnormal
сообщение 27.8.2010, 15:35; Ответить: unnormal
Сообщение #6


index.php
[php]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
<?
define("ROOT_DIR", dirname(__FILE__).DIRECTORY_SEPARATOR);
$route = empty($_GET["url"]) ? "index" : trim(strtolower($_GET["url"]), "/\\");
$parts = explode("/", $route);
$modul = ROOT_DIR."modules/".$parts[0].".php";
if (is_file($modul))
require($modul);
else
die("404");
?>
...
</html>
[/php]modules/index.php
Заходить www.mysite.ru
[php]
Привет. Это главная страница!
[/php]modules/brand.php
Заходить www.mysite.ru/brand/[тут id бренда]/
[php]
<h1>Бренд:</h2>
<?
$brand = mysql_query("SELECT * FROM `category` WHERE id='".$parts[1]."'");
$title = mysql_fetch_assoc ($brand);
print_r($title);
?>
[/php]Удобнее использовать вместо id, имя бренда, было бы понятнее www.mysite.ru/brand/coca-cola/

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ссылки за которые не стыдно! Качественный линк билдинг сервис под Бурж от Westrank. Честный прайс.
63 DaoDog 47117 Вчера, 12:05
автор: Omaxis
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4078 18.4.2024, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 683 17.4.2024, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2819 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34836 15.4.2024, 15:16
автор: arendator


 



RSS Текстовая версия Сейчас: 20.4.2024, 0:27
Дизайн