- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет, надо перенаправить /index.php?тут что угодно заменить на /
Написал ... вот
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteRule ^(([^/]+/)*)index\.php(.*)$ http://test.ru/$1$2 [R=301,L]
2)
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\??
RewriteRule ^(([^/]+/)*)index\.php$ http://www.example.com/$1 [R=301,L]
второй вариант оставляет все что после ? знака ... тоесть ?test-32
Что надо подправить. Заранее спасибо
Angelys, редирект
test.ru/index.php?тут_что_угодно
на
test.ru/?тут_все_что_было_после_знака_вопроса
делается проще:
Если хотите обработать тем же правилом и вложенные каталоги, а не только корневой, то можно так
по этому правилу например
test.ru/folder/index.php?тут_что_угодно
переадресуется на
test.ru/folder/?тут_все_что_было_после_знака_вопроса
Спасибо за ответ .. вы немного не поняли ..
надо перенести test.ru/index.php?тут_все_что_было_после_знака_вопроса
на test.ru
надо перенести test.ru/index.php?тут_все_что_было_после_знака_вопроса
на test.ru
Тогда, чтобы сделать редирект, убрав из адреса index.php и строку запроса (все что после ?) сделайте так:
по этому правилу например
test.ru/index.php?тут_что_угодно
переадресуется на
test.ru/
Оно работает но ссылки ЧПУ тоже перенаправляются на главную страницу /
Я же не знал, что у Вас есть в .htaccess еще реврайты на index.php.
Поставьте перед новым правилом условие, чтобы оно не примерялось к адресам, к которым уже применен реврайт, чтобы стало так:
Спасибо . Все работает
gormarket, спасибо, нашел в вашем коде нужный мне ответ :)
gormarket, сорри за оффтоп, но зачем вы в каждом правиле указываете "http://%{HTTP_HOST}/"?
Ведь можно просто написать "/" и сэкономить ~0.0001% вычислительных ресурсов :)
;8877970']Ведь можно просто написать "/" и сэкономить ~0.0001% вычислительных ресурсов
Наверно все-таки не "/" а "/?" , но в принципе думаю Вы правы, подстановку в этом случае аппчу все равно придется делать, а вот размер .htaccess будет меньше на ~0.00001%.
:)
Так что в свое оправдание могу привести только следующее:
1. как спросили так и ответил (в топике было "http://...", я так и сделал, только универсальнее.)
2. с "http://%{HTTP_HOST}" (как мне кажется) более наглядно, что это редирект, а не реврайт (что может быть сомнительно с учетом наличия еще и "R=301")
3. под руку в нужный момент попался кусок кода с "http://%{HTTP_HOST}" (скопировал, вставил, подправил под текущие нужды)