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 :: Про ЧПУ и не только.. [6]

 PHP.SU

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


 Страниц (9): « 1 2 3 4 5 [6] 7 8 9 »   

> Описание: Малюсенькая статейка.
DeepVarvar Супермодератор
Отправлено: 11 Ноября, 2012 - 01:00:21
Post Id



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


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


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




Ну в этом логе ничего нету, это точно эррорлог?
 
 Top
NEMOGY
Отправлено: 11 Ноября, 2012 - 11:01:27
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




DeepVarvar пишет:
Ну в этом логе ничего нету, это точно эррорлог?

Ну наверное)... Z:\usr\local\apache\logs\error.log
(Добавление)
DeepVarvarМожет на реальном хосте будет работать?


-----
boichukvd@gmail.com
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Ноября, 2012 - 12:33:52
Post Id



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


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


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




А чем ваш хост хуже реального?
 
 Top
NEMOGY
Отправлено: 11 Ноября, 2012 - 13:00:40
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




DeepVarvar пишет:
А чем ваш хост хуже реального?

Не знаю, так вот не делает рерайт... Никак не получается уже это сделать... Может вы можете сделать эти ЧПУ??? Или подскажите кто может помочь реализовать ЧПУ, сколько будет стоить? 10 wmz достаточно?


-----
boichukvd@gmail.com
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Ноября, 2012 - 13:05:22
Post Id



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


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


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




Э, нее, никаких денег, вы так решите для себя, либо всегда платить, либо делать все самому.
Загуглите по фразе "ЧПУ денвер"
 
 Top
NEMOGY
Отправлено: 11 Ноября, 2012 - 13:09:53
Post Id


Новичок


Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




DeepVarvar пишет:
Э, нее, никаких денег, вы так решите для себя, либо всегда платить, либо делать все самому.
Загуглите по фразе "ЧПУ денвер"

Так понимаешь делаю сайт для себя, без всяких знаний начинал, а тут еще диплом сдавать через месяц по строительству, так хочу закончить с этим делом, пусть потихоньку индексируется, а сдам диплом, так уже можно будет поднажать, нужно очень срочно... ну плиззз
(Добавление)
DeepVarvar
Что никак?


-----
boichukvd@gmail.com
 
 Top
Evgenius
Отправлено: 08 Марта, 2013 - 19:35:40
Post Id


Новичок


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


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




DeepVarvar пишет:
Мы просто ВООБЩЕ ВСЕ что к нам приходит перенаправим в один единственный файл:

Здравствуйте!
А как прописать правила в .htaccess, если сайт расположен не в корне сервера, а во вложенной папке.
Т.е. если .htaccess и index.php лежат в корне сайта, то все отлично работает, проверял.
Но в корне сайта у меня работающий сайт, пока делаю новый, решил сделать его временно в папке site.ru/test. Как в этом случае прописать правила для mod_rewrite?
Перечитал тысячу статей по mod_rewrite, выдрал все волосы, но не могу заставить работать.

P.S. Пока печатал сообщение, пришла мысль, что может быть парсинг запроса нужно изменить для этого, а не правила реврайта?

Я начинающий... сильно не ругайте
 
 Top
DeepVarvar Супермодератор
Отправлено: 09 Марта, 2013 - 10:17:53
Post Id



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


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


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




Сделайте себе поддомен и экспериментируйте на здоровье.
Всеравно потом выливать на старое место.
 
 Top
Evgenius
Отправлено: 09 Марта, 2013 - 11:28:18
Post Id


Новичок


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


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




DeepVarvar пишет:
Сделайте себе поддомен и экспериментируйте на здоровье.
Всеравно потом выливать на старое место.

Решено.
В модреврайте нужно только поменять Rewrite Base / на Rewrite Base /test/ (в моем случае)
А ошибку выдавала mysql_real_escape_string, т.к. у меня не было выполнено на тот момент подключение к базе. Либо нужно было пока убрать строчку очистки от иньекций при парсинге запроса..
Теперь все заработало.
 
 Top
Evgenius
Отправлено: 11 Марта, 2013 - 09:02:22
Post Id


Новичок


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


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




DeepVarvar пишет:
А сам файл может содержать все что вам надо исключительно для работы с регистрацией пользователей.
Кстати самый смысл в том, что он ведь может обработать и $params[1], скорее даже должен.
Ведь именно для него мы передаем второй параметр.


DeepVarvar, здравствуйте!
Не могу понять, как обрабатывать дальнейшие запросы...
Сайт я сделал таким образом.
Если упростить, для удобства, на сайте три странички - главная, о нас и продукция
Для каждой странички у меня два файла - в папке modules/main.php и в папке template/tpl_main.php (это для главной страницы сайта, которая загружается, если набрать site.ru).
В файле main.php задается title, готовятся данные, которые присваиваются переменным и массивам, вызывается шаблон этой страницы (там эти переменные вставляются как
к примеру), и вызывается главный шаблон сайта, в который уже подставляется title и страница, которую мы вызвали. Ну как бы ничего нового, умнее ничего не придумал.

Вот с первым "уровнем" понятно. Если мы только зашли на сайт, то

PHP:
скопировать код в буфер обмена
  1. if (count($params) == 0) $params[0] = "main"


загружается главная страница сайта. Если мы нажмем "О нас", то загружается страничка, где просто текст "о нас" и дальнейших переходов нет.

Но вот на странице каталога продукции у меня циклом из БД собирается табличка всей продукции, и если нажать на картинку продукта, то должна открыться страница с подробным описанием конкретного продукта. Если для кнопок меню делается свой файлик, который собирает эту страницу, то для каждого продукта должен же быть "один для всех" файл, который по переданному параметру подставляет из БД инфу именно для этого продукта. Эту страничку я сделал, к примеру назовем ее product_view.php
И вот я не могу понять где должно стоять условие перехода на нее? Все возможные пересечения условий собирать в индексном файле? Но ведь чем больше сайт, тем больше будет "пухнуть" index.php... или это нормально?
Измучался уже весь... не могу сделать...

Ссылка для каждого продукта на странице продукции у меня собирается следующим образом. В БД в таблице продукции у каждого продукта есть английское название и я подставляю ее вот так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="products/<?=$row['engname']?>"><img src="images/products/<?=$row['engname']?>.jpg" alt="<?=$row['name']?>" /></a>

и получается

CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="products/product_1"><img src="images/products/product_1.jpg" alt="Продукт 1" /></a>

ну вот так сделал... не придумал, как по другому.
Т.е. при нажатии на ссылку продукта у меня $params[0]="products" и $params[1]="product_1".

А вот где должно стоять условие запуска страница product_view.php?
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Марта, 2013 - 09:10:08
Post Id



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


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


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




Evgenius пишет:
href="products/product_1"
Неа, вот так:

href="/products/1"

Тогда вот эта еденичка будет доступна в $params[1], а это ж айдишник товара, пральна?
(Добавление)
Evgenius пишет:
А вот где должно стоять условие запуска страница product_view.php?
Ну естессно явно в модуле products. Если мы обнаружили что есть еще и $params[1], то явно надо идти в базу искать товар с этим айди и явно выводить не список товаров, а описание одного товара.
(Добавление)
DeepVarvar пишет:
href="/
И вот не прошу, а требую писать хрефы всегда от корня, как в моем примере.
 
 Top
Evgenius
Отправлено: 11 Марта, 2013 - 13:43:11
Post Id


Новичок


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


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




[quote=DeepVarvar][/quote]
исправил... не работает...

Я правильно понимаю процесс?:
1. Загрузили сайт, пока в $params[0] ничего нет, по условию загружаем главную страницу.
2. Нажимаем на кнопку "Продукция", в $params[0] появляется "products", загружается страница "Продукция"
3. На странице "Продукция" нажимаем на ссылку какого-нибудь продукта, в $params[1] появляется, нарпимер, "product_1", сервер заново начинает с индексной страницы, раз уже есть $params[0]="products", он переходит на products.php, там по условию определяем есть ли что-то в $params[1] и если есть, то переходим на products_view.php и там в зависимости от параметра показываем тот продукт.

так происходит?

Не могу понять, где косяк...

в файле products.php, в начале файла у меня стоит условие

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if ($params[1] != 0)
  3.    require_once file_exists('modules/products_view.php')
  4.    ? 'modules/products_view.php' : 'modules/404.php';*/

Или обязательно нужно, что бы было "/products/1", а не "/products/products_1" при формировании ссылок на продукты?
(Добавление)
Все, нашел косяк... условие переписал вот так

PHP:
скопировать код в буфер обмена
  1. if (isset($params[1]))
  2.    require_once file_exists('modules/products_view.php')
  3.    ? 'modules/products_view.php' : 'modules/404.php';


и все заработало.

DeepVarvar, спасибо за помощь!
(Добавление)
ну и в догонку задам еще один глупый вопрос...

в файле products.php у меня, после условий выполнять его или переходить на products_view.php стоят две строчки

PHP:
скопировать код в буфер обмена
  1. echo 'это параметр 1';
  2. echo $params[1];

это я делал, для поиска ошибок... При заходе на страницу Продукция они писались в самом верху, что бы мне следить за данными $params()

Так вот при переходе со страницы Продукция на страничку конкретного продукта они все равно выводятся на экран, в самом низу.
Как такое может быть? Такое ощущение, что страница не обновляется, а просто сдвигается вниз...
 
 Top
DeepVarvar Супермодератор
Отправлено: 11 Марта, 2013 - 15:04:23
Post Id



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


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


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




"двигается вниз", чем больше параметров в $params тем больше вы сами подключаете.
И теперь вдруг спрашиваете что случилось Улыбка
 
 Top
Evgenius
Отправлено: 11 Марта, 2013 - 15:10:47
Post Id


Новичок


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


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




DeepVarvar пишет:
И теперь вдруг спрашиваете что случилось Улыбка


так а я почему-то думал, что страницы каждый раз заново рисуются...
т.е. это нормально?

сделал такие же строчки в main.php (это главная страница), при переходе на другие страницы эти строчки пропадают...

или это из-за того, что products_view.php как бы вложена в products.php и перед показом инфы отдельного продукта мы уже загружали список продуктов?
(Добавление)
нет, не пропадают... сделал такие же строчки в индексном файле, они сразу перешли на main.php

ну а если представить такую гипотетическую ситуацию, что эти строчки нужны (я то их уберу)... получается они будет кочевать с одной страницы на другую?
 
 Top
Морозов Семен
Отправлено: 06 Мая, 2013 - 18:12:35
Post Id



Гость


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


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




DeepVarvar, а как выполнить следующее:

PHP:
скопировать код в буфер обмена
  1. $_SESSION['now_link'] = $params[0];

Вместо содержимого $params[0], переменная сессии выглядит так: now_link|N;

Что это такое? Уже весь день голову ломаю по этому поводу.

Это мне собственно для чего нужно: в сессию записывается ссылка текущей страницы в виде $params[0], пользователь проходит либо авторизацию, либо комментирует статью (в общем, обращается к обработчику данных). И после обработки данных обработчик пользователя переадресовывает на ту ссылку, которая записана в сессии, как текущая, т.е. now_link

А так всё работает замечательно. У меня на этой системе построен весь сайт, спасибо огромное за подробно предоставленный материал.
 
 Top
Страниц (9): « 1 2 3 4 5 [6] 7 8 9 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Обсуждение статей »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB