Помощь Отключение ЧПУ Datalife на некоторых папках

Тема в разделе "DLE", создана пользователем Geootsu, 20 фев 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Geootsu

    Geootsu Создатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    19
    Симпатии:
    2
    На хостинге где стоит Datalife в корневой директории главного домена, в ней также присутствуют папки ответственные за Addon домены и поддомены, если включаю ЧПУ в Datalife он мешает работе поддоменов и аддонов перехватывая адреса.

    Вопрос: -как исключить работу ЧПУ от Datalife только на некоторых папках чтобы скрипты из папок поддоменов работали нормально, и в то же время чтобы в остальном он выполнял свои функции?
     
  2. upandhigh

    upandhigh

    Регистр.:
    11 фев 2009
    Сообщения:
    235
    Симпатии:
    89
    запости свой htaccess плиз сюда и дай пример урлов для которых должен олтключаться ЧПУ
     
  3. Geootsu

    Geootsu Создатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    19
    Симпатии:
    2
    upandhigh стандартный htaccess от Datalife, примеры адресов для отключения:

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке

    Дело в том что на хоcтинге с Перейти по ссылке все дополнительные домены и поддомены по структуре создаются как папки в корневой директории главного домена, соответственно если в нем есть htaccess файл с правилами, они будут действовать не только при открытии папки поддомена а ля Перейти по ссылке , так же с дополнительными доменами.


    HTML:
    
    DirectoryIndex index.php
    
    RewriteEngine On
    
    # Редиректы
    RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
    
    # Сам пост
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
    
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
    RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
    RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]
    
    RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
    RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
    RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
    RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
    
    # За день
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
    # За весь месяц
    RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
    # Вывод за весь год
    RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
    RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
    # вывод отдельному тегу
    RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
    RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
    # вывод для отдельного юзера
    RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
    RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
    RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
    RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
    RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
    RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
    # вывод всех последних новостей
    RewriteRule ^lastnews/(/?)+$ index.php?do=lastnews [L]
    RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
    # вывод в виде каталога
    RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
    RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
    # вывод непрочитанных статей
    RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
    RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
    # Статистические страницы
    RewriteRule ^static/(.*).html(/?)+$ index.php?do=static&page=$1 [L]
    # вывод избранных статей
    RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
    RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]
    
    RewriteRule ^rules.html$ index.php?do=rules [L]
    RewriteRule ^statistics.html$ index.php?do=stats [L]
    RewriteRule ^addnews.html$ index.php?do=addnews [L]
    RewriteRule ^rss.xml$ engine/rss.php [L]
    RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
    RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
    RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
    RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1 [L]
    RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]
    
     
  4. upandhigh

    upandhigh

    Регистр.:
    11 фев 2009
    Сообщения:
    235
    Симпатии:
    89
    ты хочешь сказать что когда заходишь на сабдомен? Перейти по ссылке то срабатывает htaccess из основного домена? из maindomain.com

    отключить редирект к папкам довольно просто:
    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке

    вот у тебя домен после модр RewriteEngine On в своем хтаксес добавляешь что то типа:
    RewriteCond %{REQUEST_URI} ^/addondomainname1 [OR]
    RewriteCond %{REQUEST_URI} ^/addondomainname2 [OR]
    RewriteCond %{REQUEST_URI} ^/addondomainname3
    RewriteRule ^(.*)$ $1 [L]

    через OR можешь сколько угодно доменов добавлять и он типа смотреть ага если папка начинается с такогото то делаю редирект если совпадения нету то он проверяет второй OR ну и тд
     
  5. Geootsu

    Geootsu Создатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    19
    Симпатии:
    2
    Прошу прощения, не описал до конца проблему, если .htaccess от Datalife присутствует в главной директории и ЧПУ включен, то при открытии адреса поддомена сервер выдает:

    HTML:
    Not Found
    The requested URL /home/hostinguser/public_html/index.php was not found on this server.
    
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/1.3.37 Server at subdomain.domain.com Port 80
    А если открывать Перейти по ссылке то уже срабатывает Datalife ЧПУ и делает перехват страницы с ответом что такой в базе скрипта нету (и не должно быть, скрипт срабатывает правильно).
     
  6. upandhigh

    upandhigh

    Регистр.:
    11 фев 2009
    Сообщения:
    235
    Симпатии:
    89
    .htaccess как бы не должен влиять на сабдомены, ибо для сабдоменов выставляется DocumentRoot следовательно все что ниже его - сабодомен уже не интересует.

    а вот ошибка эта говорит о том, что при обращении к сабдомену - апач лезет в эту папку /home/hostinguser/public_html/index.php за файлом, но его не находит. что это за директория? возможно что просто ДОМЕНЫ не корректно прописываются в апаче, или в сабдоменах лежит еще другой ХТАКСЕС но по люобму вначале нужно знать что это за путь? это твой РУТ твоего сайта? или нет?

    Добавлено через 28 секунд
    после добавления тех комманд что я дал в хтаксес при обращении к папке - редиректить уже не должно
     
  7. pathologic

    pathologic Постоялец

    Регистр.:
    6 фев 2007
    Сообщения:
    102
    Симпатии:
    13
    у меня была подобная проблема. решилась обращением к хостеру, долго они пытались мне доказать, что у меня кривой .htacсess и прочее, но потом решили всё на своей стороне.
     
  8. Geootsu

    Geootsu Создатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    19
    Симпатии:
    2
    -Да, это и есть рут главного сайта, и кстати там index.php есть, Даталайф-овский.

    Насчет другого ХТАКСЕС в поддомене, он нужен будет, потом, мне хотябы запустить без него чтобы не конфликтовал рутовский ХТАКСЕС с поддоменами.
     
  9. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    461
    Симпатии:
    116
    .htaccess в нужные папки с содержанием:
    Код:
    RewriteEngine Off
     
    Geootsu нравится это.
  10. Geootsu

    Geootsu Создатель

    Регистр.:
    23 ноя 2007
    Сообщения:
    19
    Симпатии:
    2
    Спасибо!
    Сразу помогло.

    А теперь надо думать над совместной работе 2 .htaccess-ов.

    В корневой директории как уже говорил стоит Datalife c ЧПУ и .htaccess файлом.

    В одной из поддиректорий которая является и папкой поддомена есть другой файл .htaccess от Перейти по ссылке 18.0 со следующим содержанием:

    HTML:
    
    ########################################################################################################
    # Для чего служит.htaccess? Набирая адрес в строке браузера, вы получаете на свой компьютер файлы, 
    # которые отображает браузер. Управление тем, какие файлы и как вам показывать (пересылать) осуществляет веб-сервер. 
    # Наиболее популярных серверов два: IIS и Apache. Как и любая программа, веб-сервер имеет определенные настройки. 
    # Но, у вас, как пользователя Апача может (и скорее всего не будет, если говорить о виртуальном хостинге) 
    # прав менять конфигурацию Апача через его главные файлы, действие которых распространяется на всех пользователей 
    # этого сервера. Но, вы можете менять некоторые конфигурационные файлы, который распространяют свое действие только
    # на ваш сайт. Один из таких файлов -.htaccess Это файл гибкой настройки веб-сервера Апач. "Гибкий"  обозначает, что 
    # как только вы поменяли что-то в этом файле, изменения тут же вступают в силу. С помощью него можно переопределить 
    # многие директивы из файла httpd.conf (этот файл является главным конфигурационным файлом сервера Апач и его 
    # действия распространяются полностью на всех пользователей данной копии Апача). В случаях, когда у вас нет доступа 
    # в файлу настройки Апача (тот же виртуальный хостинг), вам поможет именно этот файл. Этот файл не доступен 
    # веб-пользователю из браузера. Если файл.htaccess расположен в корневой директории сервера, то его действия 
    # распространяется на весь сервер, кроме тех папок, где находится другой файл.htaccess (и кроме всех папок "ниже" 
    # этой папки со вторым.htaccess). к тому же .htaccess служит не только как  файл 
    # перенастройки вашего хоста, но и выполняет некоторые защитные функии, так что если  у вас не работает сайт с 
    # этим файлом лучшим вариантом будет не удалить файл, а постараться его отредактировать под ваш сервер, 
    # как это сделать спрашивайте у своих хостеров кому как не им лучше знать как это сделать
    # на бесплатных хостах таких как например jino-net.ru, h2m.ru нет возможности перенастраивать сервер под себя
    # поэтому файл придется удалить 
    ##############################################################################################################
    
    Addtype application/vnd.sonyericsson.mms-template tpl
    Addtype application/vnd.wap.wmlc .wmlc
    Addtype application/vnd.wap.wmlscriptc .wmlsc
    Addtype application/vnd.eri.thm .thm 
    Addtype application/vnd.mophun.application .mpn  
    Addtype application/vnd.mophun.certificate .mpc
    Addtype application/x-gtar .gtar
    Addtype application/x-tar .tar
    Addtype application/zip .zip
    Addtype application/x-rar-compressed .rar
    Addtype application/vnd.wap.mms-message .mms
    Addtype application/smil .smil
    Addtype application/smil .smi
    Addtype application/java-archive .jar
    Addtype application/vnd.symbian.install .sis
    Addtype application/vnd.smaf .mmf
    Addtype application/x-tar .hid
    Addtype text/vnd.wap.wml;charset=utf-8 .wml
    Addtype text/vnd.wap.wmlscript .wmls
    Addtype text/x-vmel .mel
    Addtype text/vnd.sun.j2me.app-descriptor;charset=UTF-8 .jad
    Addtype text/x-vmel .emy
    Addtype text/x-imelody .imy
    Addtype text/x-emelody .emy
    Addtype text/x-vcard .vcf
    Addtype text/x-vcalendar .vcs
    Addtype text/calendar .ics
    Addtype audio/imelody .imy
    Addtype audio/amr .amr
    Addtype audio/x-wav .wav
    Addtype audio/wav .wav
    Addtype audio/midi .midi 
    Addtype audio/midi .mid 
    Addtype audio/rmf .rmf 
    Addtype image/jpeg .jpg
    Addtype image/jpeg .jpeg
    Addtype image/gif .gif
    Addtype image/png .png
    Addtype image/bmp .bmp
    Addtype image/vnd.wap.wbmp .wbmp
    Addtype video/mp4 .mp4
    Addtype video/3gpp .3gp
    
    #########################################
    # Ниже мы закрываем прямой доступ к     # 
    # Некоторым файлам и директориям        #
    #########################################
    
    <Files ~ "template|local">
       Order allow,deny
        Deny from all
    </Files>
    <Files ~ ".(dat|priv|prof)$">
       Order allow,deny
       Deny from all
    </Files>
    
    ################################################################################################################
    # Здесь некоторые перенастройки Рекомендуется все раскомментировать для  полноценной работы wap-motor портала   
    ################################################################################################################
    
    #php_flag error_reporting 7
    php_flag register_globals 0
    php_flag session.use_trans_sid 1
    php_flag safe_mode_gid 1
    php_flag safe_mode On
    php_flag safe_mode_include_dir 1
    php_flag magic_quotes_gpc 0
    php_flag magic_quotes_runtime 0
    php_flag magic_quotes_sybase 0
    php_flag file_uploads 1
    DirectoryIndex index.php
    AddDefaultCharset UTF-8
    Options -Indexes
    
    #############################################
    # Перенаправления и логирование при ошибках #
    #############################################
    
    ErrorDocument 403 /pages/error.php?error=403
    ErrorDocument 404 /pages/error.php?error=404
    
    ##########################################
    # Если включен mod Rewrite то адрес к    #
    # страничкам мотора можно писать не      #
    # index.php?p=dir&f=file ,а dir/file.mot #
    ##########################################
    
    RewriteEngine On
    
    ##################################################################################################################
    # Строка ниже этого раздела: 'Options FollowSymLinks' может вызвать проблему
    # при некоторых конфигурациях сервера. Она необходима для использования модуля апача mod_rewrite, но может быть
    # уже настроена администратором вашего сервера и изменение этого параметра в .htaccess может быть запрещено
    # Если эта директива вызывает ошибку сервера, то закомментируйте строку (добавьте символ # в 
    # начало строки), перезагрузите в браузере сайт и протестируйте работу. Если все работает,
    # то вам не надо ничего менять здесь, т.к. всё уже настроено администратором сервера. 
    ###################################################################################################################
    
    ###Options +FollowSymlinks
    
    ####################################################################################
    #  Раскомментируйте следующую строку, если ваши URL web-сервера
    #  не связаны напрямую с физическими путями файлов.
    #  Обновите Ваш Каталог MOTOR (используйте "/" для обозначения корня сервера)
    ####################################################################################
    
    ###RewriteBase /
    
    #############################
    # Новый путь для файлов mot #
    #############################
    
    RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+).mot(/?)+$ ?p=$1&f=$2 [QSA,L]
    
    #########################################################################
    # Правила обработки запросов для блокировки распространенных эксплоитов #
    #########################################################################
                
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    RewriteCond %{REQUEST_METHOD} ^TRACE 
    RewriteRule ^(.*)$ index.php [F,L]
    
    
    Если задействовать .htaccess файл в папке поддомена, выдает:
    HTML:
    
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    
    Please contact the server administrator, webmaster@subdomain.maindomain.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    
    More information about this error may be available in the server error log.
    
    Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/1.3.37 Server at subdomain.maindomain.com Port 80
    
    В поддоменном .htaccess присутствует строка RewriteEngine On но смана на RewriteEngine Off не помогло.

    Есть ли возможность настроить .htaccess-ы чтобы они не конфликтовали между собой?
     
Статус темы:
Закрыта.