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

Форум Apache

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

 

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

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

тема: mod Rewrite: новый адрес site_ru/login для site_ru/bl/login
 
 автор: Skripoff   (25.09.2011 в 22:44)   письмо автору
 
 

Доброго времени суток. Помогите с Rewrite

есть site_ru/bl/login
нужно site_ru/login

  Ответить  
 
 автор: cheops   (25.09.2011 в 22:49)   письмо автору
 
   для: Skripoff   (25.09.2011 в 22:44)
 

Попробуйте следующий .htaccess
RewriteEngine On  
RewriteBase /  
RewriteRule ^login$ bl/login [L]

  Ответить  
 
 автор: Skripoff   (25.09.2011 в 22:52)   письмо автору
 
   для: cheops   (25.09.2011 в 22:49)
 

login должен быть переменной, тоесть может быть bl/login, может быть bl/qqq

  Ответить  
 
 автор: cheops   (26.09.2011 в 09:43)   письмо автору
 
   для: Skripoff   (25.09.2011 в 22:52)
 

Как много таких переменных?

  Ответить  
 
 автор: Miha_Kregov   (25.09.2011 в 23:52)   письмо автору
 
   для: cheops   (25.09.2011 в 22:49)
 

...

  Ответить  
 
 автор: Miha_Kregov   (26.09.2011 в 00:45)   письмо автору
 
   для: cheops   (25.09.2011 в 22:49)
 

cheops, а как убрать с адресной строки bl ?

  Ответить  
 
 автор: cheops   (26.09.2011 в 09:43)   письмо автору
 
   для: Miha_Kregov   (26.09.2011 в 00:45)
 

Если bl уже введено, то никак, если использовать mod_rewrite-преобразования, как выше, то можно будет ссылаться на новые синонимы, без bl.

  Ответить  
 
 автор: Miha_Kregov   (26.09.2011 в 12:52)   письмо автору
 
   для: cheops   (26.09.2011 в 09:43)
 

cheops, я сделал так, как вы написали, вводится site.ru/login без bl и перекидывает на site.ru/bl/login, т.е. получается редирект, а нужно, чтобы в адресной строке оставался адрес site.ru/login

  Ответить  
 
 автор: cheops   (26.09.2011 в 14:29)   письмо автору
 
   для: Miha_Kregov   (26.09.2011 в 12:52)
 

Если в правиле нет флага [R] такого не должно быть, у вас правило выглядит именно так как во втором посте или оно модифицировано?

  Ответить  
 
 автор: Miha_Kregov   (26.09.2011 в 14:50)   письмо автору
 
   для: cheops   (26.09.2011 в 14:29)
 

вот так:


RewriteEngine On   
RewriteBase /   
RewriteRule ^login$ bl/login [L]
RewriteRule ^login/$ bl/login [L]

  Ответить  
 
 автор: Miha_Kregov   (02.10.2011 в 14:35)   письмо автору
 
   для: cheops   (26.09.2011 в 14:29)
 

cheops, и всетаки -- как решить?

  Ответить  
 
 автор: cheops   (02.10.2011 в 15:14)   письмо автору
 
   для: Miha_Kregov   (02.10.2011 в 14:35)
 

Ситуацию воспроизвел, но пока не понял как обойти, нужно повозиться... какая-то там интересная внутренняя переадресация, которая становится в конце концов невнутренней.

  Ответить  
 
 автор: Miha_Kregov   (03.10.2011 в 05:01)   письмо автору
 
   для: cheops   (02.10.2011 в 15:14)
 

Если вдруг узнаете как правльно сделать, то пожалуйста сообщите.

  Ответить  
 
 автор: Miha_Kregov   (07.10.2011 в 00:36)   письмо автору
 
   для: Miha_Kregov   (03.10.2011 в 05:01)
 

Решено! Если кому вдруг понадобится:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)/(.*)?$ bl/$1/$2 [L]

RewriteRule .* - [L]

  Ответить  
 
 автор: Blizard   (07.10.2011 в 11:25)   письмо автору
 
   для: Miha_Kregov   (07.10.2011 в 00:36)
 

Хорошая штука. Только вот работает если в конце ставишь index.php, а как соединить просто обращение к папке с index.php?

Ну т.е. сейчас работает только если так site.ru/test/index.php все правильно грузит содержимое site.ru/baza/test/index.php, а как сделать чтобы грузило site.ru/baza/test/index.php но и при обращениях вида:

site.ru/test/ и site.ru/test ?

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

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