Помогите с htaccess

firacet
На сайте с 23.07.2008
Offline
68
390

Приветствую, надо решить такую задачу.

Есть сайт, надо чтобы были следующие редиректы ( -> это редирект )

  • http://site.ru -> http://www.site.ru/
  • http://www.site.ru -> http://www.site.ru/
  • http://www.site.ru/index.php -> http://www.site.ru/
  • http://www.site.ru/main/ -> http://www.site.ru/
  • http://www.site.ru/anyword -> http://www.site.ru/anyword/
  • http://www.site.ru/anyword///// -> http://www.site.ru/anyword/

Первое решить довольно просто:

RewriteCond %{HTTP_HOST} ^site\.ru [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [L,R=301]

так-же у меня есть окончательное условие которое должно срабатывать после всех преоброжений урла :

RewriteRule ^([a-z,A-Z,0-9,/,_,-]+)(/)?$ index.php?uri=$1

то есть http://www.site.ru/lalala/ будет передано в http://www.site.ru/index.php?uri=lalala/

Помогите реализовать все эти преобразования в одном htaccess, ПЛЫЗ!

Сбылись мечты народный: Мир-Труд-Май
InoHacker
На сайте с 18.10.2009
Offline
75
#1

Ну во-первых, Вакм надо вот здесь:

RewriteRule ^(.*)$ http://www.site.ru/$1 [L,R=301]

убрать буковку "L", иначе если это правило будет первым, оно же станет последним.

Во-вторых, не очень понял:

то есть http://www.site.ru/lalala/ будет передано в http://www.site.ru/index.php?uri=lalala/

А как тогда быть с:

?

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
T
На сайте с 19.10.2008
Offline
32
#2

потерто))))

Сбылись мечты народные: МИР-ТРУД-МАЙ
0
На сайте с 09.02.2010
Offline
0
#3

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^site\.ru [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301]

RewriteCond %{REQUEST_FILENAME} -f

RewriteRule ^index.php http://www.site.ru/ [R=301]

RewriteCond %{REQUEST_FILENAME} -d [OR]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^main/? http://www.site.ru/ [R=301]

RewriteCond %{REQUEST_FILENAME} !-f [OR]

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-z0-9A-Z_\-]+)/*$ http://www.site.ru/$1/ [R=301]

</IfModule>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий