Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Как правильно написать .htaccess?

18.01.2012, 12:35. Просмотров 2351. Ответов 6
Метки нет (Все метки)

мне надо чтоб в адресной строке в конце часть ".php?id=123" убиралась.
например чтоб "http://site.ru/script.php?id=123", выглядела так: "http://site.ru/script/123"
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2012, 12:35
Ответы с готовыми решениями:

Правильно написать .htaccess
Здравствуйте. В .htaccess пишу: RewriteEngine On RewriteCond...

Htaccess, как правильно настроить редирект?
Здравствуйте, подскажите как правильно настроить .htaccess Имеется такая...

Как правильно прописать путь в .htaccess?
Привет всем. У меня вопрос как правильно прописать путь к ошибкам в .htaccess...

Как правильно прописать редирект доменов для .htaccess
у меня есть два домена domen.ru и new.ru мне нужно сделать так чтобы все...

Бликируем ряд IP через .htaccess! как правильно сделать?
Меня замучал уже один китайский робот поисковик, robots.txt игнорирует! вот...

6
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
18.01.2012, 13:38 2
Код
# Включаем rewrite
RewriteEngine on

# Пишем правило для файла (страницы) script.php
RewriteRule ^script/?$ script.php     [L,NC]
RewriteRule ^script/([0-9]+)/?$ script.php?id=$1     [L,NC]
в третьей строке как видно сначала идет как бы элайс названия файла и следом, через слеш, то, что будет после. в данном случае разрешены только цифры, видно из регулярки
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
19.01.2012, 00:08  [ТС] 3
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Код
# Включаем rewrite
RewriteEngine on

# Пишем правило для файла (страницы) script.php
RewriteRule ^script/?$ script.php     [L,NC]
RewriteRule ^script/([0-9]+)/?$ script.php?id=$1     [L,NC]
в третьей строке как видно сначала идет как бы элайс названия файла и следом, через слеш, то, что будет после. в данном случае разрешены только цифры, видно из регулярки
спасибо, попробую =)
0
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
20.01.2012, 18:58  [ТС] 4
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
Код
# Включаем rewrite
RewriteEngine on

# Пишем правило для файла (страницы) script.php
RewriteRule ^script/?$ script.php     [L,NC]
RewriteRule ^script/([0-9]+)/?$ script.php?id=$1     [L,NC]
в третьей строке как видно сначала идет как бы элайс названия файла и следом, через слеш, то, что будет после. в данном случае разрешены только цифры, видно из регулярки
выше описаное неработает..

как сделать чтоб везде, часть в адресной строке "?id=12345" заменялась на "/12345"
0
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
20.01.2012, 21:29 5
Цитата Сообщение от Sanu0074 Посмотреть сообщение
выше описаное неработает..
как сделать чтоб везде, часть в адресной строке "?id=12345" заменялась на "/12345"
попробуй в регулярку добавить знак подчеркивания
Код
([0-9_]+)
Главное условие чтобы параметр в $_GET был = id
1
Sanu0074
58 / 58 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
21.01.2012, 01:48  [ТС] 6
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
попробуй в регулярку добавить знак подчеркивания
Код
([0-9_]+)
Главное условие чтобы параметр в $_GET был = id
неработает....
может я неправильно обьяснил, я хочу чтоб в любом месте на сайте в ссылке ?id=число заменялось на /число

т.е. чтобы ссылка http://site.ru/folder/?id=5 работала когда её так набираем http://site.ru/folder/5, в этом случае концовка /5 - будет считаться как id=5!!

как так сделать??
0
__PION__
958 / 799 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
21.01.2012, 03:30 7
Цитата Сообщение от Sanu0074 Посмотреть сообщение
неработает....
с рабочего скрипта скопировано
Цитата Сообщение от Sanu0074 Посмотреть сообщение
может я неправильно обьяснил, я хочу чтоб в любом месте на сайте в ссылке ?id=число заменялось на /число
т.е. чтобы ссылка http://site.ru/folder/?id=5 работала когда её так набираем http://site.ru/folder/5, в этом случае концовка /5 - будет считаться как id=5!!
как так сделать??
Тутут, я как понимаю, нужно динамическое изменение ЧПУ (в зависисмости от юрл. Здесь могу предложить 2 решения:
1. Разбиение юрл explode'ом например и составить условия на все возможные случаи и в зависимости от них вызывать тот или иной файл (получается как бы точка входа), по умолчанию вызов страницы ошибки.
2. http://irbis-team.com/15/4/2
),
а я привел написание ЧПУ вручную, т.е., если те нужно правило для sript.php?id=число, то надо прописать правило для него, а если для folder/script.php?id=число, то уже правило надо прописать и для него отдельно
Код
RewriteRule ^(folder/)?script/([0-9]+)/?$ folder/script.php?id=$1     [L,NC]
не уверен на счет правильности регулярки, но делается это все вручную.
1
21.01.2012, 03:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 03:30

Помогите правильно составить .htaccess (RewriteRule)
1) Все файлы, заканчивающиеся на .php, обрабатывать _index.php 2) Все...

Как написать .htaccess для перенаправления на индекс?
Как написать .htaccess для перенаправления на индекс? Есть директория form в...

написать не простое условие в .htaccess
нужна переадесация при условии обратите внимание на скобки после ИЛИ......


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

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

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