Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2014, 04:16   #1
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию htaccess замена url

Не знаю точно как называется то что я хочу, и вообще по теме ли пишу, просто сейчас статейку прочитал про htaccess и это похоже именно то что я искал.

Надо чтобы при переходе на url
Код:
"http://mysite.ru/section1" 
"http://mysite.ru/section1/page1" 
"http://mysite.ru/section3/testpage2"
загружались на лету
Код:
"http://mysite.ru/index.php?section=section1&page="
"http://mysite.ru/index.php?section=section1&page=page1"
"http://mysite.ru/index.php?section=section3&page=testpage2"
страницы соответственно,
но при этом url строка оставалась вида "http://mysite.ru/section/page"
При этом так же должны работать страницы вида "http://mysite.ru/some_name.php"
alextrof94$gmail.com

Последний раз редактировалось alextrof94; 03.04.2014 в 04:54.
alextrof94 вне форума Ответить с цитированием
Старый 03.04.2014, 15:49   #2
AmadeyWebDev
Новичок
Джуниор
 
Регистрация: 03.04.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от alextrof94 Посмотреть сообщение
Не знаю точно как называется то что я хочу, и вообще по теме ли пишу, просто сейчас статейку прочитал про htaccess и это похоже именно то что я искал.

Надо чтобы при переходе на url
Код:
"http://mysite.ru/section1" 
"http://mysite.ru/section1/page1" 
"http://mysite.ru/section3/testpage2"
загружались на лету
Код:
"http://mysite.ru/index.php?section=section1&page="
"http://mysite.ru/index.php?section=section1&page=page1"
"http://mysite.ru/index.php?section=section3&page=testpage2"
страницы соответственно,
но при этом url строка оставалась вида "http://mysite.ru/section/page"
При этом так же должны работать страницы вида "http://mysite.ru/some_name.php"

Как вариант:
Код:
RewriteRule http://mysite.ru/section1/(.*) http://mysite.ru/index.php?section=section1&page=$1 [L]
Помог? Жми на весы!
AmadeyWebDev вне форума Ответить с цитированием
Старый 03.04.2014, 16:26   #3
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Это четверть пути.
Должно получится что-то вроде этого:
Код:
RewriteRule http://mysite.ru/(.*)/(.*) 
if (!preg_match("^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$", $1)) // если вторая часть адреса (секция) не совпадает с регуляркой
//(тут я использовал доменную регулярку "abcd.efg") переходим на index.php с параметрами
 http://mysite.ru/index.php?section=$1&page=$2 [L]
Это будет половина, а как адрес в адресной строке оставлять в виде "http://mysite.ru/section/page"?
UPD: еще погуглил...
можно проверку организовать вида "если $1 НЕ файл, то осуществить переход".
alextrof94$gmail.com

Последний раз редактировалось alextrof94; 03.04.2014 в 16:29.
alextrof94 вне форума Ответить с цитированием
Старый 04.04.2014, 16:04   #4
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Отлично.
Данная строка делает то что мне нужно, но...
Код:
RewriteRule ^(.*)/(.*)$ /index.php?section=$1&page=$2 [L]
Как сделать чтобы правильно отрабатывались эти строки, т.е обрабатывались дополнительные параметры?
Код:
mysite.ru/?error_message=error -> mysite.ru/index.php?error_message=error
mysite.ru/section1/?error_message=error -> mysite.ru/index.php?section=section1&error_message=error
mysite.ru/section1/page1/?error_message=error -> mysite.ru/index.php?section=section1&page=page1&error_message=error
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 06.04.2014, 12:38   #5
vasiatka
Пользователь
 
Аватар для vasiatka
 
Регистрация: 18.02.2014
Сообщений: 90
По умолчанию

прочитай вот это: http://a-develop.ru/blog/280

Может проясниться то, что не понятно
В бинарной системе счет ведут не по пальцам, а по кулакам.
Пенза - мой город - я из Пензы.
vasiatka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подмена url с помощью .htaccess Gorychev Общие вопросы Web 1 19.02.2014 01:39
.htaccess работа с URL StivinKing PHP 3 01.06.2013 23:27
.htaccess пароль на URL Dexes Общие вопросы Web 11 04.04.2013 23:37
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL DorianLeroy Фриланс 8 18.02.2009 18:52