За последние 24 часа нас посетили 32819 программистов и 1820 роботов. Сейчас ищут 867 программистов ...

Помогите создать .htaccess

Тема в разделе "PHP для новичков", создана пользователем _AHTOH_, 19 авг 2016.

Метки:
  1. _AHTOH_

    _AHTOH_ Новичок

    С нами с:
    21 май 2016
    Сообщения:
    12
    Симпатии:
    0
    Добрый день, есть .htaccess
    Код (Text):
    1. AddDefaultCharset utf8
    2. #Определение индексного файла
    3. Options -Indexes
    4. DirectoryIndex index.php
    5.  
    6. #включаем переадресацию
    7. RewriteEngine On
    8. #Базовый урл
    9. RewriteBase /
    10. #По идеи не даёт зайти на .htacess-ы
    11. RewriteRule ^\.htaccess$ - [F,L]
    12.  
    13. RewriteCond %{REQUEST_FILENAME} !-f
    14. RewriteCond %{REQUEST_FILENAME} !-d
    15. RewriteRule ^(.*)$ index.php [L,QSA]
    16. # Options +FollowSymLinks
    17. RewriteCond %{HTTP_HOST} ^www\.ogp$ [NC]
    18. RewriteRule ^(.*)$ http://ogp/$1 [R=301,L]
    19. RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    20. RewriteRule . %1/%2 [R=301,L]
    21. ErrorDocument 404 /error404
    Он всегда меня выручал, он имеет такой косяк:
    не перенаправляет с ogp/123 на ogp/123123132/
    а так как делаю многоязычность, это вызывает проблемы.
     
    #1 _AHTOH_, 19 авг 2016
    Последнее редактирование: 19 авг 2016
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Прокомментируй свой аксес-файл построчно. Для чего эти конструкции? Как они по-твоему должны работать?
     
  3. _AHTOH_

    _AHTOH_ Новичок

    С нами с:
    21 май 2016
    Сообщения:
    12
    Симпатии:
    0
    Подписал то что знал.
    поможете с этим?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Мало прописал. Интересуют все правила. Они у тебя есть, значит ты их зачем-то добавил. Хочется твою логику проверить.

    Кстати, правило запрета аксесов будет работать только с корневым файлом, разрешая доступ ко вложенным. И еще кстати - на уровне конфигурации вебсервера уже должно быть правило, запрещающее доступ к любому файлу, имя которого начинается на дот-эйч-ти. Там ж еще паролики в .htpasswd могут быть. В общем правило бесполезное.
    Редирект с ввв на не-ввв лучше делать в конфигурации сервера. В мануале по рерайтеру об этом есть статья "когда НЕ использовать рерайтер".
     
  5. _AHTOH_

    _AHTOH_ Новичок

    С нами с:
    21 май 2016
    Сообщения:
    12
    Симпатии:
    0
    спасибо, на данном этапе проекта использую.
    Код (Text):
    1. AddDefaultCharset utf8
    2.  
    3. Options -Indexes
    4. DirectoryIndex index.php
    5.  
    6. RewriteEngine On
    7.  
    8. RewriteBase /
    9. RewriteRule ^\.htaccess$ - [F,L]
    10.  
    11. RewriteCond %{REQUEST_FILENAME} !-f
    12. RewriteCond %{REQUEST_FILENAME} !-d
    13. RewriteRule . index.php
    14. RewriteCond %{REQUEST_URI} !/$
    15. RewriteCond %{REQUEST_URI} !\.
    16. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]
    17. ErrorDocument 404 /404