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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 642 Вчера, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2794 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34815 15.4.2024, 15:16
автор: arendator
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
83 AdsPower 24398 14.4.2024, 22:52
автор: AdsPower
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКрауд ссылки с форумов, блогов, порталов. Жирные ссылки с Ua,Ru, Бурж площадок. Вечные ссылки в статьях на собственных сайтах
Быстро, качественно и ответственно!
138 vetalbon 66337 13.4.2024, 17:53
автор: vetalbon


 



RSS Текстовая версия Сейчас: 18.4.2024, 6:03
Дизайн