用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3338|回复: 6
收起左侧

[已解决] 用ASP开发的网站,现在转成CI的PHP,如何处理URI?

[复制链接]
发表于 2011-2-9 22:32:13 | 显示全部楼层 |阅读模式
本帖最后由 coding_burning 于 2011-2-10 14:23 编辑

我的网站,之前是用ASP开发的,现在把后台语言转成了CI的PHP。但是不少被Google收录的链接还是老的格式,比方说这样的 - www.mydomain.com/problem.asp?id=702。这样用户在搜索到这个页面时,CI显示是

An Error Was Encountered
The URI you submitted has disallowed characters.

我想把它转成www.mydomain.com/main/problem/702.

如何操作呢?
发表于 2011-2-9 23:06:53 | 显示全部楼层
这个要自己写 PHP 代码呀,要有 main 控制器 problem 方法。
具体请参考手册,一步一步跟着手册做。
http://codeigniter.org.cn/user_guide/toc.html
发表于 2011-2-10 10:37:29 | 显示全部楼层
config/routes.php中添加:

PHP复制代码
$route['problem.asp?id=(:num)'] = "main/problem/$1";
复制代码
 楼主| 发表于 2011-2-10 14:22:02 | 显示全部楼层
回复 2# Hex


谢谢老大的回复。不是的,网站我已经做好了,我现在是希望别人在通过google访问旧的网址是,可以直接转到新的网址。可是问题是出现了

An Error Was Encountered
The URI you submitted has disallowed characters.

就是说URI里递交了非法的字符。我看了一下,应该是/problem.asp?id=702中存在着?和=这样的符号,所以还没有访问到main这个控制器,就被route打回来了。我这样理解对不对?
 楼主| 发表于 2011-2-10 14:22:56 | 显示全部楼层
回复 3# bluelomo

谢谢,这个我试过了,但是应该是在这个命令发挥作用之前,就被打回来了。
发表于 2011-2-10 14:38:11 | 显示全部楼层
原来你是需要 xxx.asp 转到 CI 上?
有两种方案:
1. 做一个假的 xxx.asp,然后在里面做 302 跳转。
2. 做 URL Rewrite

这个肯定不能在 CI 里做,因为 CI 是 PHP 的不是 ASP 的。
 楼主| 发表于 2011-2-14 13:10:21 | 显示全部楼层
多谢!!!

本版积分规则