使用htaccess将请求的asp URL重定向到php

时间:2013-07-12 09:50:21

标签: php apache .htaccess url-rewriting apache2.2

我们有一个重要的网站返工,现在我们的新网站是基于PHP的。我们有一些网站将我们的旧页面链接到它们,这些网站过去都是asp页面。我想创建一个htaccess规则,但我未能得到所需的结果。如果有人能提供帮助就会很棒。

传入的页面将采用

格式

http://www.mysite.com/tour.asp?id=1234

其中 1234 是动态的,可能会有所不同。我想将其重定向到页面viewer.php并将查询字符串变量id更改为tourid,因此请求的页面应为

http://www.mysite.com/viewer/1234

我在htaccess中有另一个规则,它将上面的URL路由到

http://www.mysite.com/viewer.php?tourid=1234 (这是有效的)

我需要一个规则,第一个网址被路由到第二个网址,希望它能打开第三个网址。我怎样才能做到这一点?

由于我是htaccess的新手,有人可以帮我解决如何实现这种路由吗?我想在这里清楚,服务器现在是php,我只能使用htaccess完成此操作。我跟着其他类似的问题,但发现没有一个能回答我的问题。

1 个答案:

答案 0 :(得分:1)

UPADTE - 我第一次弄错了,这是更正后的版本。

# Match and capture the id value from the URL
RewriteCond %{QUERY_STRING} id=([0-9]+)
# Redirect by passing the ID to the new site - the ? at the end removes existing query string
RewriteRule tour.asp http://www.mysite.com/viewer/%1? [R=301,L]

我认为ID只是数字。

此答案的来源位于https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html - 搜索“修改查询字符串”以查找有关删除查询字符串的信息。