htaccess的301重定向动态URL

htaccess的301重定向动态URL

本文介绍了htaccess的301重定向动态URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我提出我的网站的新域名。需要重定向页面

old-site.com/oldpage.php?id=X

new-site.com/newpage-X
(X为数字)

为什么这个规则不起作用?

  RewriteEngine叙述上
重写规则^ oldpage.php?ID =(。*)$ http://new-site.com/newpage-$1 [R = 301,L]
 

解决方案

的的并只在的而不是网址查询。你需要使用的RewriteCond 指令来测试网址查询(%{QUERY_STRING} )。因此,尝试这条规则:

 的RewriteCond%{QUERY_STRING} ^(([^&放大器;] *放大器;)*)ID =([^&功放;] +)及?(。*)?$
重写规则^ oldpage \ .PHP $ http://new.example.com/newpage-%3?%1%4 [L,R = 301]
 

这条规则也将preserve其他参数的查询。

I am moving my site to new domain. Need to redirect pages
from
old-site.com/oldpage.php?id=X
to
new-site.com/newpage-X
(X is number)

Why this rule does not work?

RewriteEngine on
RewriteRule ^oldpage.php?id=(.*)$ http://new-site.com/newpage-$1 [R=301,L]
解决方案

The RewriteRule does only operate on the URL path and not the URL query. You need to use the RewriteCond directive to test the URL query (%{QUERY_STRING}). So try this rule:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=([^&]+)&?(.*)?$
RewriteRule ^oldpage\.php$ http://new.example.com/newpage-%3?%1%4 [L,R=301]

This rule will also preserve other parameters in the query.

这篇关于htaccess的301重定向动态URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 04:48