Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Помогите проигнорировать ЧПУ
Konung  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42178
На форуме: 1 год, 2 дня
Карма:




Здравствуйте! Впервые пришлось столкнуться с CEO, поэтому опыта работы с htaccess не было (да и с регулярными выражениями, признаюсь, редко сталкивался). Два дня поисков по сети помогли родить примерно следующий код:

Options +FollowSymlinks

RewriteEngine On

#Отсекаем дубль технического домена
RewriteCond %{REQUEST_URI} ^(.*).fozzyhost.com$ [NC]
RewriteRule ^(.*)$ http://mysite.ru

#Отсекаем дубль "http://www.mysite.ru/index.php"
RewriteRule index.php http://mysite.ru

# Отсекаем ведущие "WWW."
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1

# Отсекаем расширение ".html"
RewriteCond %{REQUEST_URI} ^(.*).html$ [NC]
RewriteRule ^(.*)$ http://mysity.ru/%1

# Отсекаем финишные "/"
RewriteCond %{REQUEST_URI} ^(.*)[/]$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/%1

# ОСНОВНОЙ REDIRECT
RewriteCond %{HTTP_HOST} ^[^www\.].*$
RewriteRule ^/?([A-Za-z0-9\-_/]+)/?$ /index.php?article=$1
# [OR]

Код вроде бы полностью решает задачи, которые поставил сеошник, но....
Сайт сделан на самописной админке, обращение к которой производится по адресу:
http://mysity.ru/admin или http://mysity.ru/admin/index.php
Ну и дальнейшая работа с админкой идет через параметризованные URL'ы.
Получившийся у меня код htaccess'a, естественно, блокирует доступ к админке, преобразуя ее адрес в ЧПУ.
Помогите, пожалуйста, решить следующую задачу:
Как преобразовать мой htaccess таким образом, чтобы если в %{REQUEST_URI} содержится подстрока "admin", он игнорировал все преобразования и оставлял нетронутым параметризованный URL.
Если укажете на еще какие-то косяки в моем htaccess'е (это мое первое творение на сей счет), так же буду признателен .
Заранее благодарен.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
keinhoj  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 31
Пользователь №: 41480
На форуме: 1 год, 5 месяцев, 16 дней
Карма: 1




через RewriteCond
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Konung  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42178
На форуме: 1 год, 2 дня
Карма:




В том-то и вопрос, как сформулировать условие для RewriteCond, чтобы код
# ОСНОВНОЙ REDIRECT
RewriteCond %{HTTP_HOST} ^[^www\.].*$
RewriteRule ^/?([A-Za-z0-9\-_/]+)/?$ /index.php?article=$1

игнорировался, если в %{REQUEST_URI} содержится подстрока "admin".
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Konung  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 4
Пользователь №: 42178
На форуме: 1 год, 2 дня
Карма:




Ну, если кому интересно... проблема решилась следующим образом:
Поскольку префиксы "www." я и так экранирую, то в моем случае проверка условия
RewriteCond %{HTTP_HOST} ^[^www\.].*$
не имеет смысла.
Соответственно, проблема решилась следующим образом:
# ОСНОВНОЙ REDIRECT
#RewriteCond %{HTTP_HOST} ^[^www\.].*$
RewriteCond %{REQUEST_URI} ^[^admin].*$ [NC]
RewriteRule ^/?([A-Za-z0-9\-_/]+)/?$ /index.php?article=$1

В моем случае, пришлось еще переименовать головной модуль админки из index.php в любое другое название, например administrator.php, в противном случае я сам же грохал его директивой
#Отсекаем дубль "http://www.mysite.ru/index.php"
RewriteRule index.php http://mysite.ru

Большое спасибо пользователю Ganzal, который, указав путь решения, жестко обругал меня за то, что я сеошные редиректы делаю в htaccess. А где интересно их принято делать (аппач стоит у хостера и конфигурировать его я, имхо, не могу)?

Это сообщение отредактировал Konung - 2.12.2015 - 16:48
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
GET  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



TERRAFORMING ENGINEER
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 3846
Пользователь №: 21196
На форуме: 6 лет, 9 месяцев, 1 день
Карма: 87




Цитата
Код вроде бы полностью решает задачи, которые поставил сеошник, но....


Интересно как сеошник обосновал ЧПУ прирост?


--------------------
Не тот велик, кто не падал, а тот кто падал и поднимался.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса