Помощь Настроить .htacces

Статус
В этой теме нельзя размещать новые ответы.

TIIIMOXAN

Гуру форума
Регистрация
1 Сен 2009
Сообщения
403
Реакции
74
Приветствую!

Помогите, пожалуйста, решить следующий вопрос:

1. В URL joomla присутствуют ссылки следующего вида:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

Необходимо настроить .htaccces таким образом, чтобы при запросе выше представленных URL, срабатывал 301 рдирект на URL Для просмотра ссылки Войди или Зарегистрируйся

2. Аналогичная проблемма и с этими адресами:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или ЗарегистрируйсяДля просмотра ссылки Войди или Зарегистрируйся

Только в данном случае необходимо, чтобы 301 редирект срабатывал на URL Для просмотра ссылки Войди или Зарегистрируйся

3. Для просмотра ссылки Войди или Зарегистрируйся - на Для просмотра ссылки Войди или Зарегистрируйся

Никогда раньше не сталкивался с таким поведением движка. Помогите, пожалуйста настроить!

Заранее благодарен!


Вот мой .htaccess на данный момент

##
# @version $Id: htaccess.txt 21064 2011-04-03 22:12:19Z dextercowley $
# @package Joomla RE
# @localized Авторские права (C) 2005 - 2011 Joom.Ru - Русский дом Joomla! Все права защищены.
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license Для просмотра ссылки Войди или Зарегистрируйся GNU/GPL
# Joomla! - свободное программное обеспечение.
# Последнее изменение этого файла - 09.04.2011
##

# Установка кодировки сайта по умолчанию. При необходимости, закомментируйте.
# Строка решает проблему с "крякозябрами" в редакторе TinyMCE и текста лицензии при установке
# на Денвере и некоторых серверах с жестко прописанной кодировкой. Это на 99,9% работающее решение.
# После переименования этого файла htaccess.txt в .htaccess проблема решится.
# Если проблема осталась - перечитайте предыдущее предложение (возможно неправильно переименовали).

AddDefaultCharset utf-8

# Следующие строки - попытка исправить настройки PHP
# для полного соответствия системным требованиям Joomla.
# Раскомментируйте (символ комментария - #) нужные строки,
# если настройки вашего хоста не соответствуют рекомендациям
# системных требований Joomla.
# При возникновении 500 ошибки сервера, закомментируйте строку, вызывающую
# ошибку, или все строки с php_flag.

# php_flag register_globals Off
# php_flag display_errors Off
# php_flag file_uploads On
# php_flag allow_url_fopen off
# php_flag magic_quotes_gpc On
# php_flag magic_quotes_runtime Off


# Пример явного указания каталога для записи сессий:
# Для Windows - c:/temp
# для UNIX - /tmp

# Указанный каталог должен физически существовать и быть доступен для записи

# При необходимости, раскомментируйте строку ниже этой
# php_value session.save_path c:/temp

#####################################################
# ПРОЧТИТЕ ПОЛНОСТЬЮ, ЕСЛИ БУДЕТЕ ИСПОЛЬЗОВАТЬ ЭТОТ ФАЙЛ
#
# Строка ниже этого раздела: 'Options +FollowSymLinks' может вызвать проблему
# при некоторых конфигурациях сервера. Она необходима для использования модуля
# Apache mod_rewrite, но может быть уже настроена администратором вашего
# сервера и изменение этого параметра в .htaccess может быть запрещено.
# Если эта директива вызывает ошибку сервера, то закомментируйте строку
# (добавьте символ # в начало строки), перезагрузите в браузере сайт и
# протестируйте работу SEF-ссылок. Если они работают, то вам не надо ничего
# менять здесь, т.к. всё уже настроено администратором сервера.
#
# Строки, которые можно раскомментирвать (и использовать) имеют только один #.
# Строки с двумя символами ## раскомментировать не надо. В разделах, которые вы
# не используете, все строки должны начинаться с символа #
#
#####################################################

## Может быть закомментировано, если вызывает ошибку сервера. Смотрите примечания выше.
Options +FollowSymLinks

#
# Включение mod_rewrite

RewriteEngine On

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [R=301,L]
#Redirect 301 /index.php/ Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery/ Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery.php Для просмотра ссылки Войди или Зарегистрируйся

########## Начало - Правила обработки запросов для блокировки распространенных эксплоитов
## Если у вас возникли проблемы с вашим сайтом, используйте ниже описанные операции
## Они пытаются заблокировать самые распространенные эксплоиты Joomla!
#
## Код запрета доступа к xml-файлам расширений (раскомментируйте для активации)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## Конец кода запрета доступа к xml-файлам
# Блокировать любой запрос, пытающийся установить значение mosConfig через URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Блокировать любой запрос, пытающийся испортить base64_encode через URL
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Блокировать любой запрос, содержащий тег <script> в URL
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Блокировать любой запрос, пытающийся установить значение глобальных переменных PHP через URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Блокировать любой запрос, пытающийся изменить _REQUEST переменную через URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Перенаправлять заблокированные запросы на страницу 403 с запрещенными ошибками!
RewriteRule .* index.php [F]
#
########## Конец правил обработки для блокировки распространенных эксплоитов

# Раскомментируйте следующую строку, если URL вашего web-сервера
# не связаны напрямую с физическими путями файлов.
# Обновите ваш каталог Joomla (используйте "/" для обозначения корня сервера)

# RewriteBase /



########## Начало раздела SEF ядра Joomla!
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# Если запрошенный путь и файл не содержат /index.php и запрос еще
# не был перенаправлен на скрипт index.php
RewriteCond %{REQUEST_URI} !^/index\.php
# и запрашивается URL корня или расширения, или
# запрашиваемый URL оканчивается на одно из перечисленных расширений
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]
# и запрошенный путь не соответствует пути к физическому файлу
RewriteCond %{REQUEST_FILENAME} !-f
# и запрошенный путь не соответствует пути к физической папке
RewriteCond %{REQUEST_FILENAME} !-d
# то перенаправить запрос на скрипт index.php
RewriteRule .* index.php [L]
#
<IfModule mod_security.c>
SetEnvIfNoCase Remote_Addr ^89.178.9.225$ MODSEC_ENABLE=Off
</IfModule>
########## Конец раздела SEF ядра Joomla!
 
Самый простой вариант
Код:
redirect 301 /old/old.htm http://www.you.com/new.htm
и так для каждой ссылки.
 
Как вы могли заметить (наверное могли:(

Redirect 301 /gallery/ Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery.php Для просмотра ссылки Войди или Зарегистрируйся

Но, для ссылок вида:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

.htaccess кидает на URL: /gallery.html/ - что естественно не нужно, т.к. стоит слэш на конце URL.
 
Ну если у вас в .htaccess не прописаны подобные редиректы, значит туда редиректит непосредственно сама CMS. Или я вас не правильно понимаю...
 
Может проще поставить компонент чпу, тот же артио?
 
Может проще поставить компонент чпу, тот же артио?
Отнюдь, как правило сторонние sef компоненты создают дополнительную нагрузку на сервер. Иногда после установки оных можно прощелкать некоторые параметры настройки, например оставили включенным автоматическое создание тегов, а вы теги ручками прописывали, а он взял их всех и заменил. Последний мой довод, мне попался один заказчик, который поставил четкое ТЗ где требовал использовать только бесплатные компоненты.
 
Все уже решил, кому интересно:

RewriteEngine On

### 301 редирект с index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Redirect 301 /home Для просмотра ссылки Войди или Зарегистрируйся
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /home\.html\ HTTP/
RewriteRule ^home\.html$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]
Redirect 301 /home Для просмотра ссылки Войди или Зарегистрируйся

### 301 редирект с index.php/
Redirect 301 /index.php/ Для просмотра ссылки Войди или Зарегистрируйся

Redirect 301 /gallery Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery/ Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery.php Для просмотра ссылки Войди или Зарегистрируйся

### 301 редирект категорий
Redirect 301 /gallery.html/index.php Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery/index.php/ Для просмотра ссылки Войди или Зарегистрируйся
Redirect 301 /gallery.html/ Для просмотра ссылки Войди или Зарегистрируйся

Redirect 301 /map/index.php Для просмотра ссылки Войди или Зарегистрируйся
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху