- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
есть домен и он указывает на общую глобальную папку на обычном хостинге.
в этой глобальной папке есть .htaccess , где прописано чтобы этот домен направлялся в директорию DIR:
RewriteCond %{ENV:REDIRECT_MYFLAG} ^$
RewriteCond %{HTTP_HOST} ^www\.домен\.ru$
RewriteRule ^(.+) %{HTTP_HOST}$1 [E=MYFLAG:1]
RewriteRule ^www\.домен\.ru(.*) /DIR%{REQUEST_URI} [L]
Обращение к домену, происходит правильно, точнее перенаправление в директорию.
Внутри директории DIR , есть поддиректория DIR1, в ней лежит индекс.пхп
в чём проблема:
Когда мы запрашиваем поддиректорию этого домена:
www.домен.ру/DIR1/ то всё ок, но если мы уберём слэш, после DIR1, типа:
www.домен.ру/DIR1
то в строке браузера мы увидим, не www.домен.ру/DIR1/ , а www.домен.ру/DIR/DIR1/
т.е. почему-то показывается основная папка домена DIR, хотя она никому показываться не должна.
Где-то флаг надо поставить или в чём может быть проблема?
Перед теми строками, что Вы привели добавьте строку редиректа на адрес со слешем:
получается если папок 10 штук, все прописывать?
пока что решение видится такое, и не в глобальный хтаксес, а в хтаксес который находится ВНУТРИ папки DIR. (т.е. папка этого домена)
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [L]
добавляет слэш, после любой папки. как такое решение?
получается если папок 10 штук, все прописывать?
Если всего десяток и предполагается что папки не будут активно плодиться, то не проблема и для каждой прописать свой редирект. Некоторые пишут сотни строк.
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1/ [L]
добавляет слэш, после любой папки. как такое решение?
Не очень.
У Вас реврайт, а не редирект.
Получается что по двум адресам (со слэшем и без) будет получаться одинаковое содержимое, т.е. будут дубликаты страниц.
Лучше все-таки сделать 301 редирект, и с проверкой, что папка существует в директории DIR
Если адрес заканчивается строкой (не содержащей точек и слэшей) или после этой строки идет знак вопроса
+
Если эта строка является поддиректорией директории DIR
=
Выполняется 301 редирект на тот же адрес с добавлением слэша
благодарю за помощь!)
насчет того что будут дубликаты страниц, со слэшем и без - дело в том, по всей видимости Яндекс не видит index.php при обращении к подпапкам домена - DIR1,DIR2 и тд. т.к. в панеле вебмастера, все эти директории выкинуты как 404. Хотя через браузер всё ок.
А на эти директории с главной страницы домена, стоят ссылки типа: a href=/DIR1/> а не a href=/DIR1/index.php. т.е. ссылки без индекса.
А из-за вообще такая проблема, что если не указывать слэш после директории, то зачем-то в адресной строке показывается папка DIR, т.е. папка основного домена. Это так и положено или сервер криво настроен?
Это потому что происходит внешний редирект уже реврайтного урла так как к папке отсутствует закрывающий слэш. / => ..searchengines.ru/
Это так и положено или сервер криво настроен?
Наверно так положено (есле не принять каких-то специальных мер).
Например в сети есть следующее:
... почти всегда на Apache ставится модуль mod_dir, который открывает файл index.php при обращении к папке, его содержащей...
и еще:
... особенность работы модуля mod_dir, при которой если происходит запрос файла, являющегося директорией, но запрос не оканчивается знаком слэш, то mod_dir осуществляет внешнюю переадресацию на тот же адрес со знаком слэша в конце.
т.е. проблема, возникшая перед Вами вызвана тем, что .htaccess (при некоторых условиях) делает внутреннюю переадресацию (добавляя в середину адреса директорию DIR, но не проверяя при этом наличия слэша в конце адреса, и не добавляя его при необходимости)
а затем (если не хватает слэша) начинает действовать mod_dir, делая внешний редирект на измененный в .htaccess адрес с добавлением слеша (и показывая пользователю что на самом деле все лежит в DIR)