Добрый день.. Подскажите пожалуйста! Помогите Есть два файла .htaccess. Первый - это корень сайта на хостинге. В ней .htaccess с таким кодом: Код (Text): <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*) public/$1 [L] </IfModule> И папка public в корне сайта. В ней файл .htaccess с кодом: Код (Text): <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ [OR] RewriteCond %{THE_REQUEST} "^\S+ /(index\.php|public/)" RewriteRule ^index\.php|(.*) https://mygorod.ru/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php?$1 [L,QSA] </IfModule> Все управление сайтом происходит во второй папке public в файле index.php. Подскажите пожалуйста, где почитать или как добавить следующие редиректы во второй htaccess: 1. Перенаправление с сайта с www на сайт без www: Код (Text): RewriteCond %{HTTP_HOST} ^www.mygorod\.ru$ [NC] RewriteRule ^(.*)$ https://mygorod.ru/$1 [R=301,L] 2. Убрать повторяющиеся слэши в URL Код (Text): RewriteCond %{REQUEST_URI} ^(.*?)\/{2,}(.*?)$ RewriteRule . %1/%2 [L,R=301] RewriteCond %{THE_REQUEST} // RewriteRule .* /$0 [R=301,L] 3. Убирать слэш в конце URL Код (Text): RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ [NC] RewriteRule ^(.*)(/)$ $1 [L,R=301]
Ошибка в том, что у тебя корень сайта выше папки public. Корень должен быть в public! Это настраивается на уровне httpd.conf в Apache, а не на уровне .htaccess.