Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
1

Rewrite mode. Помоги с написание простого правила

30.08.2013, 17:28. Показов 1576. Ответов 13
Метки нет (Все метки)

Всем привет, уже 2 дня бьюсь над проблемой создания условия, которое превращало бы ссылку типа:
http://www.site.com.ua/?category=name
в:
http://www.site.com.ua/name.

Вот мое представление как оно должно быть:
Код
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^site.com.ua 
RewriteRule (.*) http://www.site.com.ua/$1 [R=301,L] 
RewriteCond %{QUERY_STRING} ^$  
RewriteRule ^index.php$ / [R=301] 

RewriteCond %{REQUEST_URI} ^/([0-9A-Za-z.]+)$ 
RewriteRule .* http://www.site.com.ua/?category=%1 [R=301,L]
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2013, 17:28
Ответы с готовыми решениями:

Mode Rewrite
Всем привет. Вот что в .htaccess RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME}...

rewrite правила
подскажите пожалуйста как из ссылок: http://www.<site>.ru/send/index.php...

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

Написание простого компилятора
Хотел бы попробовать написать простенький компилятор, но не знаю с чего начать, помогите ссылкой на...

13
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 17:30 2
Посмотрите тут, 4 вариант ваш)
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 17:37  [ТС] 3
Не совсем. У меня нету index.php перед ?.

Пробовал вот так вот :
Код
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^site.com.ua 
RewriteRule (.*) http://www.site.com.ua/$1 [R=301,L] 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^index.php$ / [R=301] 

     RewriteRule ^([a-zA-Z0-9_-]+)$ ?category=$1
      RewriteRule ^([a-zA-Z0-9_-]+)/$ ?category=$1
Но не работает.
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 17:42 4
ну какой-то скрипт то у вас обрабатывает этот параметр, вот его и подставляйте вместо index.php, хотя насколько я могу судить это индекс и есть, реальный линк то все равно будет скрыт
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 17:48  [ТС] 5
Цитата Сообщение от gbsoftware Посмотреть сообщение
ну какой-то скрипт то у вас обрабатывает этот параметр, вот его и подставляйте вместо index.php, хотя насколько я могу судить это индекс и есть, реальный линк то все равно будет скрыт
Да, вы правы обработка идет через index.php , убедился в этом подставив перед ? - index.php.

Но все равно не меняет.

Теперь вот такое :
Код
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^site.com.ua 
RewriteRule (.*) http://www.site.com.ua/$1 [R=301,L] 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^index.php$ / [R=301] 

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?category=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?category=$1
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 17:52 6
что значит не меняет? можно пример линки со страницы?
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 17:54  [ТС] 7
Цитата Сообщение от gbsoftware Посмотреть сообщение
что значит не меняет? можно пример линки со страницы?
http://www.site.com.ua/?category=catalogname

вот-так-вот сайт выводит категорию и ссылку на неё. Вместо http://www.site.com.ua/catalogname
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 17:57 8
Цитата Сообщение от Cryst Посмотреть сообщение
http://www.site.com.ua/?category=catalogname

вот-так-вот сайт выводит категорию и ссылку на неё. Вместо http://www.site.com.ua/catalogname
вы наверное неправильно понимаете принцип работы mod_rewrite))
на сайте должна быть ссылка вида http://www.site.com.ua/catalogname, а мод реврайт будет ее перенаправлять на нужную http://www.site.com.ua/?category=catalogname
непосредственно на сайте он вам ничего не поменяет
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 17:59  [ТС] 9
Цитата Сообщение от gbsoftware Посмотреть сообщение
вы наверное неправильно понимаете принцип работы mod_rewrite))
на сайте должна быть ссылка вида http://www.site.com.ua/catalogname, а мод реврайт будет ее перенаправлять на нужную http://www.site.com.ua/?category=catalogname
непосредственно на сайте он вам ничего не поменяет
Разве нельзя подменить и сделать так, что бы :

Чтение данных было с http://www.site.com.ua/?category=catalogname, а в строке url было http://www.site.com.ua/catalogname

?
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 18:01 10
Цитата Сообщение от Cryst Посмотреть сообщение
Разве нельзя подменить и сделать так, что бы :

Чтение данных было с http://www.site.com.ua/?category=catalogname, а в строке url было http://www.site.com.ua/catalogname

?
Я же выше написал как это сделать) нужно поменять ссылки на сайте на http://www.site.com.ua/catalogname, а мод реврайт будет перенаправлять их на нужные - http://www.site.com.ua/?category=catalogname
только так)
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 18:04  [ТС] 11
Цитата Сообщение от gbsoftware Посмотреть сообщение
Нет, так сделать не получится)
Плохо) Сайтина самописная и так уж случилось что не мной...
Получается, если я скажу сайту при нажатии на категорию идти по ссылке http://www.site.com.ua/categoryname то реврайт будет перекидывать его на http://www.site.com.ua/?category=categoryname.
?
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 18:05 12
Цитата Сообщение от Cryst Посмотреть сообщение
Плохо) Сайтина самописная и так уж случилось что не мной...
Получается, если я скажу сайту при нажатии на категорию идти по ссылке http://www.site.com.ua/categoryname то реврайт будет перекидывать его на http://www.site.com.ua/?category=categoryname.
?
да, все правильно
1
0 / 0 / 0
Регистрация: 30.08.2013
Сообщений: 7
30.08.2013, 18:14  [ТС] 13
Цитата Сообщение от gbsoftware Посмотреть сообщение
да, все правильно
Прискорбно, но спасибо.

Добавлено через 2 минуты
Хорошо, а какими-то другими способами можно убрать вот эту штуку, ?category= ?

Добавлено через 5 минут
Допустим используя вместо $_GET. $_POST ?
0
120 / 116 / 77
Регистрация: 19.08.2013
Сообщений: 430
30.08.2013, 19:51 14
Цитата Сообщение от Cryst Посмотреть сообщение
Прискорбно, но спасибо.

Добавлено через 2 минуты
Хорошо, а какими-то другими способами можно убрать вот эту штуку, ?category= ?

Добавлено через 5 минут
Допустим используя вместо $_GET. $_POST ?
В принципе можно, но опять же придется ссылки на сайте менять + функционал дописывать, не вижу смысла)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2013, 19:51

Написание простого калькулятора
Решил начать учиться писать приложения с калькулятора. Проблем с выводом чисел от 1-9 не было....

Написание простого скрипта
Приветствую всех! Прошу у вас помощи, очень нужно сделать так что бы при заходе человека на...

Написание простого компилятора
Пишу простой компилятор использующего грамматику Pascal Реализую проверки строк кода на ошибки,...

Правильное написание правила для .htaccess
Всем доброго времени суток: вот помогите пожалуйста правильно прописать правило для .htaccess ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.