Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Универсальная настройка mod_rewrite

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
SkaN
Отправлено: 27 Марта, 2012 - 12:03:43
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Чтобы меня не отправляли в гугл, сразу скажу, что там я уже был.
Идея у меня такова: .htaccess отправляет на определенный скрипт с get параметром, в котором будет весь URL, кроме хоста. Дальше этот скрипт обрабатывает адрес, выделяет из него нужные переменные и передает управление основной части.
Но есть и сложность. Если взять, к примеру, вордпресс, то у него все страницы имеют вид ?id=num . Особых проблем нет. Но у меня все построено так: index.php выковыривает get-переменную id и на ее основании инклудит тот или иной файл. А файл уже использует остальные переменные. Например: ?id=block&block=2 означает, что будет проинклужен block.php и этот скрипт уже будет использовать переменную block. А может просто быть ?id=news и никаких дополнительных переменных.
Вот теперь, собственно, обобщение моей навязчивой идеи: как можно сделать такой скрипт (желательно даже целый модуль), который будет использовать установленный пользователем шаблон, на его основании парсить текущий URL и возвращать get-переменные, которые потом будут использоваться остальным сайтом?
 
 Top
DelphinPRO
Отправлено: 27 Марта, 2012 - 12:06:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)






-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
SkaN
Отправлено: 27 Марта, 2012 - 12:17:10
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Так это же парсинг из обычной URL-строки в переменные, он не подойдет к ЧПУ
 
 Top
DelphinPRO
Отправлено: 27 Марта, 2012 - 12:21:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




.htaccess такого плана
CODE (text):
скопировать код в буфер обмена
  1. RewriteBase /
  2. RewriteRule ^.htaccess$ - [F]
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteRule ^(.*)$ index.php

т.е. все запросы на точку входа. и скриптом парсим URL

urls такого плана
site.ru/block
site.ru/block/6
site.ru/category/product
site.ru/category/product/5
site.ru/category/product/?sort=byname

в скрипте эксплодим по слешу и разбираем. также смотрим на возможные get параметры

(Отредактировано автором: 27 Марта, 2012 - 12:25:22)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 27 Марта, 2012 - 12:24:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Так это же парсинг из обычной URL-строки в переменные, он не подойдет к ЧПУ

какая разница что там
парсинг - понятие растяжимое
просто по разному парсится а если в чпу парсить нечего тогда
swithc()
case
case

rewrite просто перенаправит все страницы на index.php зачем чтобы там обязательно был какойто парсинг


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
SkaN
Отправлено: 27 Марта, 2012 - 14:01:18
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




DelphinPRO: действительно, что-то я тупанул. Ведь просто достаточно...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Apache и другие веб-серверы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB