LINUX.ORG.RU

Битрикс, mod_rewrite и .htaccess

 ,


0

1

Приветствую!

В битрикс в .htaccess по дефолту:

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>

нужно примешать туда два правила:

### 301 редирект с www на без www
 RewriteCond %{HTTP_HOST} ^www\.(.*)$
 RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

### 301 редирект с /index.php на /
 RewriteCond %{REQUEST_URI} ^(.*)/$
 RewriteRule .* - [L]

 RewriteCond %{ENV:REDIRECT_STATUS} 200
 RewriteRule .* - [L]

 RewriteCond %{REQUEST_METHOD} =GET
 RewriteCond %{REQUEST_URI} ^(.*)/index.php$
 RewriteRule ^(.*)$ %1/ [R=301,L]
Будет ли верным просто такой вариант:
<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
  
### 301 редирект с www на без www
  RewriteCond %{HTTP_HOST} ^www\.(.*)$
  RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

### 301 редирект с /index.php на /
  RewriteCond %{REQUEST_URI} ^(.*)/$
  RewriteRule .* - [L]

  RewriteCond %{ENV:REDIRECT_STATUS} 200
  RewriteRule .* - [L]

  RewriteCond %{REQUEST_METHOD} =GET
  RewriteCond %{REQUEST_URI} ^(.*)/index.php$
  RewriteRule ^(.*)$ %1/ [R=301,L]  
</IfModule>
???

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.