Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Красивый url с помощью .htaccess
 
 автор: daornet   (19.12.2009 в 16:16)   письмо автору
 
 

Здравствуйте. Не могли бы мне помочь написать RewriteRule для .htaccess

У меня есть страница user.php и уме я через GET передаю параметр nic=USERNAME (в итоге урл такой site.ru/user.php?nic=USERNAME)

но я также хочу чтобы эта страница работала по адреcу site.ru/user/USERNAME

Спасибо

  Ответить  
 
 автор: neadekvat   (19.12.2009 в 16:38)   письмо автору
 
   для: daornet   (19.12.2009 в 16:16)
 

RewriteEngine On
RewriteRule  ^user/([A-Za-z0-9-]+)?$         index.php?nic=$1     [L]

  Ответить  
 
 автор: daornet   (19.12.2009 в 16:47)   письмо автору
 
   для: neadekvat   (19.12.2009 в 16:38)
 

Спасибо огромное

  Ответить  
 
 автор: vorobey   (15.07.2010 в 16:23)   письмо автору
 
   для: neadekvat   (19.12.2009 в 16:38)
 

я сделал так - же
RewriteEngine on
RewriteRule ^blog/([^/\.]+)/?$ blog.php?id=$1 [L]

Но при переходе выдает http://домен.ru/blog.php?id=1 если вручную набрать http://домен.ru/blog/1 тоже работает. Как сделать что бы сразу вот так http://домен.ru/blog/1 ?
ps в файле blog.php есть это
<head>
<base href=http://blog.ru>
</head>

  Ответить  
 
 автор: Trianon   (16.07.2010 в 11:54)   письмо автору
 
   для: vorobey   (15.07.2010 в 16:23)
 

вот этот поток сознания - Но при переходе выдает http://домен.ru/blog.php?id=1 если вручную набрать http://домен.ru/blog/1 тоже работает - поясните, пожалуйста.

  Ответить  
 
 автор: vorobey   (16.07.2010 в 18:56)   письмо автору
 
   для: Trianon   (16.07.2010 в 11:54)
 

Имеется ввиду что ссылка остается такая же(http://домен.ru/blog.php?id=1) - ничего не меняется. Думал что оно само должно все переводить если ввел домен.ru/blog.php?id=1 - автоматом стать домен.ru/blog/1.
Вот по такому принципу
RewriteCond %{HTTP_HOST} ^www.blog.ru
RewriteRule (.*) http://blog.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.blog.ru/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.blog.ru/ [R=301,L]

что бы не набрал перед доменом www, WWW ,до index.php все становится вида http://блог.ру.
Я понял наверно свою ошибку, очевидно и ссылку надо делать http://домен.ru/blog/1 -
ps так и надо было сделать (вопрос выше отменен :) )

А как сделать перевод на http://домен.ru/blog/1 если вводиш http://домен.ru/blog.php?id=1 ---- ?

  Ответить  
 
 автор: Trianon   (17.07.2010 в 10:24)   письмо автору
 
   для: vorobey   (16.07.2010 в 18:56)
 

>Имеется ввиду что ссылка остается такая же(http://домен.ru/blog.php?id=1) - ничего не меняется.

Ничего не меняется при каком событии?
Ссылки, насколько я понимаю, генерируются Вашим же скриптом.
Там их и нужно менять.

  Ответить  
 
 автор: vorobey   (19.07.2010 в 00:08)   письмо автору
 
   для: Trianon   (17.07.2010 в 10:24)
 

поясню смысл чего я добиваюсь.
эта ссылка
1) http://домен/blog/165 (скрипт генерирует эту)
и эта
2) http://домен/blog.php?id=165
Ведут на одну и туже страницу. Если пользователь набирает вторую ссылку , то она редиректится на первую - нужно так!
Для чего маразм этот? Делаю небольшой движок для сателитов,бирж... Вобщем поисковые системы определяют продажные url. Индексную страницу я привел в порядок(там было 3 варианта www.домен.ru ;www.домен.ru/index.php; домен.ru/index.php;) - я сделал только домен.ru .

ps если ссылка "от биржи" и расположена по первому url, а если набрать вторую ссылку, то ее там не будет!

  Ответить  
 
 автор: oliss   (19.07.2010 в 06:53)   письмо автору
 
   для: vorobey   (19.07.2010 в 00:08)
 

И как вы осуществили

www.домен.ru/index.php -->www.домен.ru без зацикливания?

  Ответить  
 
 автор: vorobey   (21.07.2010 в 18:25)   письмо автору
 
   для: oliss   (19.07.2010 в 06:53)
 

Вот так. в .htaccess
RewriteCond %{HTTP_HOST} ^www.blog.ru
RewriteRule (.*) http://blog.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.blog.ru/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.blog.ru/ [R=301,L]

все варианты.

  Ответить  
 
 автор: lElectroHardl   (26.07.2010 в 15:02)   письмо автору
 
   для: vorobey   (21.07.2010 в 18:25)
 

Если кто-то еще не разобрался, вот http://ru.wikipedia.org/wiki/%D0%A7%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA%D0%BE-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%BD%D1%8B%D0%B9_URL , почитайте.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования