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 :: Как изменить ссылки?

 PHP.SU

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


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

> Описание: htaccess
dmaw
Отправлено: 20 Января, 2010 - 18:04:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




Есть сайт, где ссылки отображаются так:

http://сайт[dot]ru/?page=5

как сделать, чтобы было так:

http://сайт[dot]ru/page5[dot]html

вобщем чтобы название ссылки можно было изменять (названия для кажой страницы хранятся в БД).
 
 Top
EuGen Администратор
Отправлено: 20 Января, 2010 - 18:16:02
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
dmaw
Отправлено: 20 Января, 2010 - 19:47:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




EuGen пишет:
Apache mod_rewrite:

Спасибо, знаю, только пока там, как в дремучем лесу Не понял
 
 Top
dmaw
Отправлено: 20 Января, 2010 - 21:56:50
Post Id



Частый гость


Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009  
Откуда: Беларусь, Витебск


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




Нашел способ решения, но как реализовать не знаю.

файл хтасес:
CODE (htmlphp):
скопировать код в буфер обмена
  1. DirectoryIndex index.php
  2. RewriteEngine On
  3. Options +FollowSymlinks
  4. RewriteCond   %{REQUEST_FILENAME}       !-d
  5. RewriteCond   %{REQUEST_FILENAME}       !-f
  6. RewriteRule   ^(.*) index.php?%{QUERY_STRING}


Дальше нужно разобрать урл REQUEST_URI в файле индекс, выбрать из БД соответствующую ячейку с данными для нового урла и заменить старый урл на новый.

Плиз, нужна помощь!

REQUEST_URI я разобрать могу, получить данные из БД тоже не проблема, а вот как сказать серверу, чтоб он показывал не старый урл, а новый?
(Добавление)
Похоже я сам на свой вопрос и ответил Покатываюсь со смеху
 
 Top
krutovaniya
Отправлено: 20 Января, 2010 - 23:25:08
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Окт. 2009  
Откуда: Россия


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




Лично я использую другой способ:
В Апаче ставлю в качестве ошибок (404 и т.д.) файл redir.php
В нём разбираю строку URI с помощью explode()
Дальше ты знаешь, что запросил пользователь, смотришь нужную инфу в БД, и пишешь, например, include('index.php').
В твоём случае в redir.php надо создать переменную, например, $page, которая содержит номер нужной страницы.
 
 Top
qpukc
Отправлено: 21 Января, 2010 - 00:42:35
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2010  
Откуда: Амурск, Россия


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




RewriteEngine On

RewriteRule ^index\.html$ golink.php?open=index [L]


Описание:

это как шаблон, подробную информацию придется почитать из мануалов и тд.

RewriteEngine On - включаем сам модуль

RewriteRule - сообщаем модулю правило

^index\.html$ - это шаблон url, т.е. юзер отправляет запрос к наш_сайт.ру/index.html и сервер обращается к...

golink.php?open=index - это адрес к скрипту уже на сервере

[L] - этот модификатор обозначает, что при совпадении шаблона закончить поиск

Советую все правила для мода писать в конце .htaccess, либо убрать [L]
 
 Top
JustUserR
Отправлено: 21 Января, 2010 - 10:40:43
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




krutovaniya Переопределение страниц ошибок на динамические PHP-скрипты может быть удобно для вас но поисковики такое не любят - ведь все равно HTTP-ответ остается по номером 403/404/etc и никто их индексировать не будет Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB