2014-01-07 5 views
0

спасибо за помощь новичкам, как я, с вашими компетентными ответами: у меня есть вопрос о перенаправлении с URls с параметрами в новые URls без параметров, возможно, используя файл .htaccess. Я попытался ответить на вопросы, как этот htacces to redirect without params 301 Redirect of old url with parameters to a path without parametesПеренаправление на URls без параметров

, но я до сих пор не знаете, как правильно продолжить.

Так вот моя проблема: старая структура URL http://www.mysite.com/my-files/query-qry?origen=1&destino=&aerolinea=DE&proveedor=barceloviajes&clase=F&escalas=

должен перенаправлять на этот: http://www.mysite.com/my-files/query-qry

положить его коротким: Я хочу, чтобы добавить 301 перенаправление без всех параметров. Какое наилучшее и быстрое решение и есть ли правило, которое можно применить?

Большое вам спасибо за помощь!

ответ

2
RewriteEngine On 
RewriteCond %{QUERY_STRING} !="" #if there is a query string 
RewriteCond %{QUERY_STRING} !^p=.* #wordpress users: allow post tempalinks 
RewriteCond %{REQUEST_URI} !^/wp-admin.* #wordpress users: don't break admin 
RewriteRule ^(.*)$ /$1? [R=301,L] #remove query string 

http://briancray.com/posts/htaccess-hack-remove-url-query-strings/

+0

Спасибо за ваш быстрый ответ и ссылку на этот учебник! – user3169060

0

To put it short: I want to add a 301 redirection without all parameters.

Вы можете использовать это правило в файле DOCUMENT_ROOT/.htaccess:

RewriteEngine On 

RewriteCond %{QUERY_STRING} .+ 
RewriteRule^%{REQUEST_URI}? [R=301,L] 
0

лучше, чем при использовании окончательного, вы должны использовать qsdiscard флаг QSD. Для вашего дела:

RewriteCond %{QUERY_STRING} .+ 
RewriteRule ^my-files/query-qry my-files/query-qry [QSD,L,R=301] 
Смежные вопросы