Доброго времени суток.
Стояла простая задача: настроить редиректы в htaccess чтобы при открытии сайта "с www" он перебрасывал на адрес "без www" и при переходе на index.php перебрасывал на папку (адрес с "/" на конце). Погугли, нашел, заработало, но если при использовании ЧПУ в конец адреса дописать index.php (site.ru/catalog/section_code/element_code/index.php), то редиректа не будет и index.php так и останется в урле, а если в начале дописать www (), то произойдет редирект на site.ru/bitrix/urlrewrite.php.
Какие будет идеи почему это происходит?
Вот весь htaccess:
а вот urlrewrite.php, который в корне сайта лежит:
Все элементы массива $arUrlRewrite создавались битриксом комплексным компонентом news, за исключением первых 3-х элементов.
Стояла простая задача: настроить редиректы в htaccess чтобы при открытии сайта "с www" он перебрасывал на адрес "без www" и при переходе на index.php перебрасывал на папку (адрес с "/" на конце). Погугли, нашел, заработало, но если при использовании ЧПУ в конец адреса дописать index.php (site.ru/catalog/section_code/element_code/index.php), то редиректа не будет и index.php так и останется в урле, а если в начале дописать www (), то произойдет редирект на site.ru/bitrix/urlrewrite.php.
Какие будет идеи почему это происходит?
Вот весь htaccess:
| Код |
|---|
Options -Indexes
ErrorDocument 404 /404.php
<IfModule mod_php5.c>
php_flag allow_call_time_pass_reference 1
php_flag session.use_trans_sid off
php_value memory_limit 50M
php_value post_max_size 50M
php_value upload_max_filesize 50M
php_value max_input_vars 10000
#php_value display_errors 1
#php_value mbstring.internal_encoding UTF-8
</IfModule>
<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}]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
|
| Код |
|---|
<? $arUrlRewrite = array( array( "CONDITION" => "#^/journal/copyrights/([0-9]+)/([0-9]+)/.*#", "RULE" => "USER_ID=\$1&ELEMENT_ID=\$2", "PATH" => "/journal/copyrights/detail_article.php", ), array( "CONDITION" => "#^/journal/copyrights/([0-9]+)/.*#", "RULE" => "USER_ID=\$1", "PATH" => "/journal/copyrights/blog_articles.php", ), array( "CONDITION" => "#^/journal/copyrights/#", "RULE" => "", "PATH" => "/journal/copyrights/index.php", ), array( "CONDITION" => "#^/journal/last-issue/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/journal/last-issue/index.php", ), array( "CONDITION" => "#^/catalog/equipments/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/catalog/equipments/index.php", ), array( "CONDITION" => "#^/catalog/companies/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/catalog/companies/index.php", ), array( "CONDITION" => "#^/catalog/goods/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/catalog/goods/index.php", ), array( "CONDITION" => "#^/company-news/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/company-news/index.php", ), array( "CONDITION" => "#^/market-news/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/market-news/index.php", ), array( "CONDITION" => "#^/ads/action/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/ads/action/index.php", ), array( "CONDITION" => "#^/ads/sale/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/ads/sale/index.php", ), array( "CONDITION" => "#^/ads/buy/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/ads/buy/index.php", ), ); ?> |