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
Форумы портала PHP.SU :: Версия для печати :: ЧПУ c помощью PHP и Mysql
Форумы портала PHP.SU » » Вопросы новичков » ЧПУ c помощью PHP и Mysql

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

1. gigs - 05 Января, 2013 - 20:22:35 - перейти к сообщению
Помогите пожалуйста решить такую задачу, есть база данных, база имеет такие столбцы как: id, url_name, description. Где url_name находится ЧПУ страницы, а где description - описание к странице, таких записей в базе больше 100 штук, но я никак не могу понять как сделать так чтоб ЧПУ появлялся в адресной строке, когда пользователь нажмет на выбранную страницу, у меня сейчас выводит так: mysite.ru/view-russian-online.php?id=3, а мне нужно чтоб было так mysite.ru/view-russian-online/rentv-online.html, ну и так с другими страницами, короче чтоб вместо .php?id=3 стояло ЧПУ из базы. Помогите пожалуйста.
3. gigs - 05 Января, 2013 - 20:48:57 - перейти к сообщению
я сделал так:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query ("SELECT id,url_name,description FROM kanalu",$db);
  2.  $myrow = mysql_fetch_array ($result);
  3.  
  4. <a href='/view-russian-online/%s'>
  5. $myrow["url_name"]
  6.  
  7.  


а в .htaccess прописал такое:
CODE (html):
скопировать код в буфер обмена
  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_FILENAME} !-f
  5.  
  6. RewriteRule ^view-russian-online/([-_A-z0-9]+)/?$ view-russian-online.php?url_name=$1 [L]


сама ссылка получилась такого вида mysite.ru/view-russian-online/re ntv-online но при переходе по ссылке мне выдает ошибку Error 404, в чем может быть проблема ?
4. broshurkaplus - 06 Января, 2013 - 11:18:46 - перейти к сообщению
думаю так надо
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^view-russian-online/([-_A-z0-9]+)/?$ ?url_name=$1 [L]


на странице вы же получаете гет параметр url_name, далее обрабатевайте его и отдавайте то что требуется.
но должен быть уникальным url_name а то две статьи с одинаковым именем и...
или добавьте /url_name/id типа /статья-про-поезд/25 или /статья-про-поезд-25 далее просто берите/ввырезайте ид и обрабатывайте, а url_name будет для чпу
ведь подумайте если реально статей 5к, то не факт не будет статей с одинаковым названием?

при добавлении статьи сразу генерьте ему чпу и в базу, используйте - в урле
еще A-z это как то не ясно...
_ это не надо, почитайте, лучше чтобы урл-урл-урл а не урл_урл , гугл так хотит и при копи/паст урла его реально видеть можно не будет сливаться _

 

Powered by ExBB FM 1.0 RC1