Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] ЧПУ

Ответить
Настройки темы
[решено] ЧПУ

Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Темки такой не нашел, решил создать (кроме прикрепленной).
Но мне похоже mod_rewrite не подходит

Есть такие ссылки:

index.php?production=mixer&id=12
index.php?production=mixer&id=3
index.php?production=mixer&id=20

index.php?production=vinil&id=30
index.php?production=vinil&id=14


Нужно переделать в что то типа www.сайт.com/mixer/Behringer-DDM-4000.htm

К примеру
index.php?production=mixer&id=12

Это продукция, котороя имеет свое название в поле `title` - `Behringer DDM 4000`
В таблице `de_mixer`


Для первого шага, я нашел в Инете подсказку - несуществующие ссылки через .htaccess перенаправлять на какой то скрипт. Я написал так:

ErrorDocument 404 /index.php?djone=ufu
ErrorDocument 401 /index.php?djone=ufu

Но толку нету. Все равно ссылки куда то убегают http://djone.com.ua/asadasd
Как то на хостинге прошит свой метод перенаправления ненайденых страниц, как это обойти?
И вообще по сути сложившихся у меня задач по ЧПУ можете сказать?

Буду благодарен.

-------
Мой блог Web Development


Отправлено: 13:00, 10-02-2009

 

Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


ЧПУ - числовое программное управление? Такие станки есть...

Смотря какие параметры скрипту нужны (по каким искать будет). Если ищется по id, то в урле по-любому где-нибудь это число должно быть (произвольно), чтобы его вытащить... а текст можно впоследствии сравнивать с базой, и выдавать 404 или 200... сначала сформируйте сам урл, а потом уже правило mod_rewrite...
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:18, 10-02-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Скрипт, который выводит на экран информацию в обычном случае?
Если да, то ...

index.php?production=mixer&id=12

В index.php определяет на наличие mixer
else if (isset($_GET['mixer'])){include('modules/good_mixer.php');}


id - идентификационный номер товара

Получается приблизительно так

$sql=mysql_query("SELECT `content` FROM `de_dj_mixer` WHERE id='$_GET[id]'");


Или какую мне информацию предоставить для ясности?

-------
Мой блог Web Development


Отправлено: 01:12, 11-02-2009 | #3


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Цитата Sham:
сформируйте сам урл »
и как он будет выглядеть, с учетом id (без него сложно будет)..
если типа сайт.com/mixer/12/Behringer-DDM-4000.htm
тогда правило будет типа
Код: Выделить весь код
RewriteRule ^/([a-z0-9A-Z]+)/([0-9]+)/.+\.htm$ /index.php?production=$1&id=$2 [L]
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:48, 11-02-2009 | #4


Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Так работает http://djone.com.ua/index.php?production=mixer&id=12
Так не работает http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm

Код: Выделить весь код
DirectoryIndex index.php
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule ^/([a-z0-9A-Z]+)/([0-9]+)/.+\.htm$ /index.php?production=$1&id=$2 [L]
Будьте любезны, подскажите

-------
Мой блог Web Development


Отправлено: 00:41, 13-02-2009 | #5


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


Artem-Samsung, зачем RewriteBase? Кроме того если это в корневом htaccess, то передний слеш не нужен...
Код: Выделить весь код
DirectoryIndex index.php
Options +FollowSymlinks
RewriteEngine On

RewriteRule ^([a-z0-9A-Z]+)/([0-9]+)/[a-z0-9A-Z\-\_]+\.htm$ index.php?production=$1&id=$2 [L]
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:40, 13-02-2009 | #6


Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


К сожаление ошибка 404
Хостинг один из лучших, мод этот стоять полюбому должен. Сейчас у них еще узнаю.

http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm

никак не

http://djone.com.ua/index.php?production=mixer&id=12

-------
Мой блог Web Development


Отправлено: 10:54, 13-02-2009 | #7


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


проще самому проверить что просит, и работает ли правило..
сделайте скрипт test.php
PHP код: Выделить весь код

<?php

echo 'Реврайт просит файл ' . @$_GET['wtf'];
echo 
' (Если это файл как и в адресной строке, то правило не работает)';
?>

и правило на время (потом его убрать нужно)
поместить его после всех правил в списке

Код: Выделить весь код
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . test.php?wtf=%{REQUEST_FILENAME} [L]
и наберите снова псевдо-урл... если не выведет test.php то правила запрещены...
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:58, 13-02-2009 | #8


Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


http://djone.com.ua/mixer/12/Behringer-DDM-4000.htm

Код: Выделить весь код
Реврайт просит файл ...djone.com.ua/mixer 
(Если это файл как и в адресной строке, то правило не работает)

Похоже не сильно то работает (

-------
Мой блог Web Development


Последний раз редактировалось Artem-Samsung, 14-02-2009 в 23:43.


Отправлено: 21:47, 14-02-2009 | #9


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


сори, ошибочка закралась в символьном классе [a-z0-9A-Z\-\_] - символ _ не должен быть последним в наборе...

Код: Выделить весь код
RewriteRule ^([a-zA-Z0-9]+)\/([0-9]+)\/[a-zA-Z0-9\_\-]+\.htm$ index.php?production=$1&id=$2 [L]
и определитесь с символами в имени файла (если что другие добавьте с экраном) - иначе тоже 404 будет, если не a-zA-Z0-9_-...

и все ваши данные удалите из постов (пути, ссылки...) - могут вызвать нездоровый интерес...
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:21, 14-02-2009 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] ЧПУ

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено




 
Переход