- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день.
Нужно сделать просто редирект с одного урла на другой в пределах одного домена.
Делаю редирект с одной страницы на другую через htaccess.
Redirect 301 /page1.php /page2.php
На выходе получаю редирект на /page2.php?q=page1.php и в итоге 404 код.
Как убрать этот параметр ?q в конце получаемого адреса ?
CMS - modX
Весь .htaccess покажите.
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]
# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin
#RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^site1\.ru [NC]
RewriteRule ^(.*)$ http://www.site1.ru/$1 [R=301,L]
# Exclude /assets and /manager directories and images from rewrite rules
RewriteRule ^(manager|assets)/*$ - [L]
RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]
# For Friendly URLs
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
добавьте после строки
RewriteBase /
строки
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
если Ваш вариант редиректа
Redirect 301 /page1.php /page2.php
все равно не будет после этого нормально работать (точно не могу сказать, не пользуюсь таким), замените его моим вариантом
RewriteRule ^page1\.php$ /page2.php [R=301,L]
(только не размещайте эту строку ниже реврайта # For Friendly URLs)
добавьте после строки
RewriteBase /
строки
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
если Ваш вариант редиректа
Redirect 301 /page1.php /page2.php
все равно не будет после этого нормально работать (точно не могу сказать, не пользуюсь таким), замените его моим вариантом
RewriteRule ^page1\.php$ /page2.php [R=301,L]
(только не размещайте эту строку ниже реврайта # For Friendly URLs)
к сожалению все равно параметр ?q= остается после всех этих манипуляций.
к сожалению все равно параметр ?q= остается после всех этих манипуляций.
И что там в q ?
по прежнему page1.php ?
или уже page2.php ?
И еще, если просто набрать в строке браузера
/page2.php
у Вас страница нормально открывается ?
без "?q=" ?
И что там в q ?
по прежнему page1.php ?
или уже page2.php ?
И еще, если просто набрать в строке браузера
/page2.php
у Вас страница нормально открывается ?
без "?q=" ?
по прежнему page1.php
без ?q= страница нормально открывается.
Попробуйте так:
сразу после строки
RewriteBase /
вставьте
RewriteRule ^page1.php page2.php [R=301,NC,L]
У меня тоже была такая проблема, это помогло.
Попробуйте так:
сразу после строки
RewriteBase /
вставьте
RewriteRule ^page1.php page2.php [R=301,NC,L]
У меня тоже была такая проблема, это помогло.
Благодарю! действительно сработало и редиректит без параметра! Спасибо.