MODx - 301 редирект

W
На сайте с 14.03.2011
Offline
111
wnt
11839

Добрый день.

Нужно сделать просто редирект с одного урла на другой в пределах одного домена.

Делаю редирект с одной страницы на другую через htaccess.

Redirect 301 /page1.php /page2.php

На выходе получаю редирект на /page2.php?q=page1.php и в итоге 404 код.

Как убрать этот параметр ?q в конце получаемого адреса ?

CMS - modX

ДП
На сайте с 23.11.2009
Offline
203
#1

Весь .htaccess покажите.

W
На сайте с 14.03.2011
Offline
111
wnt
#2

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]

gormarket
На сайте с 29.12.2010
Offline
47
#3

добавьте после строки

RewriteBase /

строки

RewriteCond %{ENV:REDIRECT_STATUS} !^$

RewriteRule .* - [L]

если Ваш вариант редиректа

Redirect 301 /page1.php /page2.php

все равно не будет после этого нормально работать (точно не могу сказать, не пользуюсь таким), замените его моим вариантом

RewriteRule ^page1\.php$ /page2.php [R=301,L]

(только не размещайте эту строку ниже реврайта # For Friendly URLs)

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
W
На сайте с 14.03.2011
Offline
111
wnt
#4
gormarket:
добавьте после строки
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= остается после всех этих манипуляций.

gormarket
На сайте с 29.12.2010
Offline
47
#5
wnt:
к сожалению все равно параметр ?q= остается после всех этих манипуляций.

И что там в q ?

по прежнему page1.php ?

или уже page2.php ?

И еще, если просто набрать в строке браузера

/page2.php

у Вас страница нормально открывается ?

без "?q=" ?

W
На сайте с 14.03.2011
Offline
111
wnt
#6
gormarket:
И что там в q ?
по прежнему page1.php ?
или уже page2.php ?

И еще, если просто набрать в строке браузера
/page2.php
у Вас страница нормально открывается ?
без "?q=" ?

по прежнему page1.php

без ?q= страница нормально открывается.

behoof
На сайте с 03.12.2010
Offline
13
#7

Попробуйте так:

сразу после строки

RewriteBase /

вставьте

RewriteRule ^page1.php page2.php [R=301,NC,L]

У меня тоже была такая проблема, это помогло.

W
На сайте с 14.03.2011
Offline
111
wnt
#8
behoof:
Попробуйте так:

сразу после строки
RewriteBase /

вставьте
RewriteRule ^page1.php page2.php [R=301,NC,L]

У меня тоже была такая проблема, это помогло.

Благодарю! действительно сработало и редиректит без параметра! Спасибо.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий