я хочу удалить параметр после истинного URL, затем перенаправить на тот же URL без этого параметра
пример:
я хочу удалить параметр "r" из
http://www.mysite.com/123.html?r=1
и перенаправление на
http://www.mysite.com/123.html
с использованием htaccess и перенаправления 301
спасибо
Попробуйте это:
RewriteRule ^123.html.? 123.html? [L]
Обратите внимание, как второй URL заканчивается на ?, это удаляет строку запроса.
?
Источник: http://wiki.apache.org/httpd/RewriteQueryString
Лучше, чем использовать окончательный ?, вы должны использовать флаг qsdiscard QSD и постоянное перенаправление флаг R=301.Итак, для вашего примера:
QSD
R=301
RewriteRule ^123\.html(.*)$ 123.html [QSD,L,R=301]