Проблема с урлами

12
C7
На сайте с 25.01.2009
Offline
107
1025

Здравствуйте !

Решил перенести один сайт с приватного движка на свой ! после прохождения обучения Попова по созданию сайта на пхп.

Возникла простенькая проблема, которую сам решить что-то не могу.

Короче говоря, все внутренние страницы у сайта сейчас имеют вид video1.php , video2.php и так далее (цифра я так понимаю берется по номеру id в таблице).

А если делать по Попову, то при передачи нужного id урл у страниц получается типа video.php?id=цифра .

Если кто-то сможет помочь решить проблемку, то буду просто безумно благодарен :idea:

Лично я учился создавать и зарабатывать на сайте здесь - манимастер (http://www.moneymaster.ru/?chess77)
G
На сайте с 16.02.2011
Offline
42
#1

Вечер добрый.

Моё мнение.

Нельзя пройти обучение, по созданию сайта на пхп.

PHP это язык программирования. Либо вы его изучаете, либо нет. А если вы им владеете, то тут что хотите то и пишите, будь то парсер, скрипт регистрации или целый движок.

цифра я так понимаю берется по номеру id в таблице

Чего тут понимать)) Посмотрите в код. во первых, существуют ли у вас сейчас все эти video1.php , video2.php и т.д. Если да, то при чём тут база? смотрите что они из себя представляют.

Если таких файлов нет, то есть обработчик URL, и снова надо смотреть, что же он там делает.

Но, по-моему, пока рано переносить. Просто пока вы сами не поймёте, как оно может работать. И Попов (к сожалению не знаю о ком речь) не может этого дать. Только с практикой такое понимание придёт.

C7
На сайте с 25.01.2009
Offline
107
#2
chess777:
Здравствуйте !
Чего тут понимать)) Посмотрите в код. во первых, существуют ли у вас сейчас все эти video1.php , video2.php и т.д.

Наверно стоило чуть подробнее описать )))

Я сейчас ставлю сайтец с нуля и могу в течение 15 минут воссоздать сайт целиком с помощью 3-7 файлов на хостинге, благодаря уже заполненной таблице !!! (имею ввиду без админки)

Единственая проблема, что при выводе роликов на главной странице

do

{

printf ("Ролик:<a href='video.php?id=%s' target=_blank ><br>", $my["id"] );

}

while ($my = mysql_fetch_array($result));

передается параметр id На страницу video.php , в шаблоне которого потом уже дергается ссылка на картинку, описание и прочее.

Так вот, а мне нужно, чтоб урлы внутренних страниц были именно video%s.php , а у Попова параметр передается с помощью GET только в такой конструкции video.php?id=

Наверно по-другому уже объяснить не получится 😂

T
На сайте с 20.03.2007
Offline
67
Toy
#3

Читайте о mod_rewrite.

Что-то вроде такого будет

RewriteEngine on
RewriteRule ^video(0-9+)\.php$ /video.php?id=$1
B
На сайте с 30.05.2006
Offline
36
#4

измените так:

printf ("Ролик:<a href='video%s.php' target=_blank ><br>", $my["id"] );

предлагаю разработку сайтов любой сложности. возможно сотрудничество на партёрских условиях. пишите в личку.
B
На сайте с 25.02.2009
Offline
68
#5

Мой совет - забыть про свой движок, когда возникают подобные вопросы, использовать готовый инструмент:

http://litepublisher.ru/

CMS это сложный продукт, лучше потратьте время на изучение работы какого либо движка

Бесплатная CMS LitePublisher это блог, вики, тикет система, голосование (http://litepublisher.ru/) на высокой скорости с минимум памяти
C7
На сайте с 25.01.2009
Offline
107
#6
Toy:
Читайте о mod_rewrite.

Что-то вроде такого будет
RewriteEngine on

RewriteRule ^video(0-9+)\.php$ /video.php?id=$1

На сколько я понял, mod_rewrite автоматически должен заменять /video.php?id=4 на /video4.php

Только прописал в .htaccess и ничего не меняется (((

Гоняю на денвере, по умолчанию mod_rewrite включен...

beatom:
измените так:

printf ("Ролик:<a href='video%s.php' target=_blank ><br>", $my["id"] );

Позволяет сделать правильный вывод ссылок, но отрезает возможность передать с помощью Get нужную переменную для генерации следующей страницы...

blogolet:
Мой совет - забыть про свой движок
CMS это сложный продукт, лучше потратьте время на изучение работы какого либо движка

Юзаю большое количество движков, в данном случае требуется именно использование готовой базы данных, которую весьма проблематично будет перетащить на тот же модекс ☝

T
На сайте с 20.03.2007
Offline
67
Toy
#7
blogolet:
Мой совет - забыть про свой движок, когда возникают подобные вопросы, использовать готовый инструмент:
http://litepublisher.ru/

CMS это сложный продукт, лучше потратьте время на изучение работы какого либо движка

Если все забудут про обучение, что станет с программированием? Пусть человек учится, если того хочет. Мой совет вам - не давать таких советов.

На сколько я понял, mod_rewrite автоматически должен заменять /video.php?id=4 на /video4.php

Наоборот, вы вводите /video4.php, а сервер получает /video.php?id=4

C7
На сайте с 25.01.2009
Offline
107
#8
Toy:

Наоборот, вы вводите /video4.php, а сервер получает /video.php?id=4

Так , на сколько я понимаю, конструкция для вывода роликов будет вот такой:

printf ("<a href='video%s.php' target=_blank > <br>", $my["id"] ); , при этом /video4.php сервер обработает как video.php?id=4

Прописал в .htacess

RewriteEngine on

RewriteRule ^video(0-9+)\.php$ /video.php?id=$1

Вот только теперь выскакивает сообщение:

The requested URL /video27.php was not found on this server.

Получается, что нужно корректировать саму страницу video.php еще что ли, либо не срабатывает сам mod_rewrite?

Страница video.php на денвере лежит рядом и при обращении video.php?id=4 дергает данные из таблицы как полагается...

siv1987
На сайте с 02.04.2009
Offline
427
#9
Страница video.php на денвере лежит рядом и при обращении video.php?id=4 дергает данные из таблицы как полагается...

RewriteRule video(0-9+)\.php video.php?id=$1 [L]

C7
На сайте с 25.01.2009
Offline
107
#10
siv1987:
RewriteRule video(0-9+)\.php video.php?id=$1 [L]

Тоже не работает к сожалению, выскакивает

The requested URL /video27.php was not found on this server. 😒

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий