2015-08-05 5 views
0

У меня есть файл HTACCESS здесь (ниже), и я хочу перенаправить/оплатить/дизайн/платежи, чтобы сделать его немного проще при отправке ссылки на клиентов.HTACCESS: перенаправить VS RedirectMatch для перенаправления одной страницы на другую в том же домене?

Вот весь файл:

<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 

ErrorDocument 404 http://mrobertsdesign.ca/404 

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC] 
RewriteRule^%1 [L,R=301,NC] 

RewriteCond %{HTTP_HOST} ^mrobertsonline\.ca [NC,OR] 
RewriteCond %{HTTP_HOST} ^www\.mrobertsonline\.ca [NC] 
RewriteCond %{HTTP_HOST} ^www\.mrobertsdesign\.ca [NC] 
RewriteRule ^(.*)$ http://mrobertsdesign.ca/$1 [L,R=301,NC] 

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?page=$1 [NC] 
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?category=$1&page=$2 [NC] 
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?category=$1&subcat=$2&page=$3 [L,NC] 

Файл отлично работает, если вы видите что-то, что должно быть изменено, пожалуйста, дайте мне знать, как хорошо. Но она отлично работает, любые способы ...

Чтобы перенаправить страницу «/ платежи» на «/ дизайн/платежи», я понимаю, что я должен использовать «перенаправление» следующим образом:

Redirect 301 /payments /design/payments 

Но когда Я добавлю, что он перенаправляет меня:

http://mrobertsdesign.ca/design/payments?page=payments 

Теперь я не понимаю, что именно мне нужно изменить, что это все на самом деле, вся помощь будет оценен по достоинству!

ответ

0

Вы должны добавить блокирующее состояние перед вашим правилом

RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?page=$1 [NC] 

Она увольняет с просьбой /payments, добавляет параметр, а затем Redirect сохраняет эти добавленные параметры.

RewriteCond %{REQUEST_URI} !^/payments 
RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?page=$1 [NC,QSA] 

В качестве примечания может быть вы хотите добавить [QSA][1] флаг в последние 3 правил, потому что при добавлении параметров в RewriteRule, предыдущая строка запроса теряется.

Смежные вопросы