HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

mod_rewriite(ЧПУ)
  #1  
Старый 21.05.2008, 18:40
AkyHa_MaTaTa
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
С нами: 10077446

Репутация: 1020


По умолчанию mod_rewriite(ЧПУ)

Доброго всем времени суток, у мну вот такая трабл, для скрытия реальных путей всегда использовал вот такой прием(.htacces):
RewriteEngine On
RewriteRule ^models/([0-9]+).html(/?)+$ /db/selectcar.php?ID_Marke=$1 [L]
RewriteRule ^carviev/([0-9]{1,10})-([0-9]{1,10}).html(/?)+$ /db/selectcar.php?ID_Marke=$1&ID=$2 [L]
RewriteRule ^cars.html(/?)+$ /db/index.html [L]

и естьствено если включен мод реврайт все оки было, а ша выдает асес денайдет, или нот фаунд, хотя на други хостах работало все ок, как я уже не меня регулярку, до одного место все, подскажике как мне правильнее сделать, есть скрипт selectcar.php, ему передаеться 1 значения(ID_Marke), и второй selectcar.php (ему передаться 2 значения ID_Marke,ID), как бы правильнее сформировать запрос, подскажите, причем на том же хосте стоит dle, joomla c транслячией адресов(чпу), и все у них работает, я не вкурю почему не пашет у меня,
за помошь буду очень признателен.

Последний раз редактировалось AkyHa_MaTaTa; 21.05.2008 в 18:46..
 
Ответить с цитированием

  #2  
Старый 21.05.2008, 19:05
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами: 9999746

Репутация: 1318


По умолчанию

Чувак, так ведь '.' в регулярках имеет смысл как "любой символ", и не допустимо использовать её в регулярках без экранирования... Может проблема в этом? Попробуй вместо точи - '\.'. То есть слешем заэкранируй её...
 
Ответить с цитированием

  #3  
Старый 21.05.2008, 19:07
Naydav
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
С нами: 10191686

Репутация: 210
По умолчанию

А что если добавить вначале аштекссесса
Цитата:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
а не ппросто
Цитата:
RewriteEngine on
поидее не поможет, но было у меня похожее...


Если передаеться хоть 1 параметр то можно
Цитата:
RewriteRule ^([a-z0-9\_\/]+)$ index.php?params=$1 [QSA]
а в скрипт добавить модуль предзагрузки и разбирать этот параметр...
Цитата:
$this->ls = preg_split("/\/+/", $_GET['params']);
хотя это похоже на изврат

попробуй просто работпет ли модреврайт, что-то типа
Цитата:
RewriteRule ^test$ index.php?id=test [L]
echo $_GET['id'];
Причем поставь первым...
Можно попробывать переименовать аштекссессы дле и джумлы и еще раз проверить

пс у меня работает и без последнего (/?)+

Последний раз редактировалось Naydav; 21.05.2008 в 19:21..
 
Ответить с цитированием

  #4  
Старый 21.05.2008, 19:16
swt1
Постоянный
Регистрация: 16.02.2008
Сообщений: 395
С нами: 9596153

Репутация: 96
По умолчанию

пример:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteEngine On
RewriteRule ^models([A-Za-z0-9^/]+)/([A-Za-z0-9_^/]+)/$ db/selectcar.php?ID_Marke=$1 [L]
 
Ответить с цитированием

  #5  
Старый 21.05.2008, 19:18
Isis
Флудер
Регистрация: 20.11.2006
Сообщений: 3,315
С нами: 10248806

Репутация: 2371


По умолчанию

Код:
RewriteEngine On
RewriteRule ^models/([0-9]+)\.html+$ /db/selectcar.php?ID_Marke=$1 [L]
RewriteRule ^carviev/([0-9]{1,10})-([0-9]{1,10})\.html+$ /db/selectcar.php?ID_Marke=$1&ID=$2 [L]
RewriteRule ^cars.html+$ /db/index.html [L]
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.