Codeigniter路由带扩展名的文件名

时间:2009-12-14 23:20:30

标签: regex codeigniter routes

我正在使用codeigniter和它的路由系统成功地使用了一些可爱的正则表达式,但是我已经解决了系统中应该是一件容易的事情。

我想在控制器中包含一堆搜索引擎相关文件(对于Google网站管理员等)以及robots.txt文件。

所以,我已经创建了控制器并更新了路径文件,似乎无法使用这些文件。

这是我的路线文件中的一个片段:

$route['robots\.txt|LiveSearchSiteAuth\.xml'] = 'search_controller/files';

在函数中,我使用URI帮助器来确定要显示的内容。

现在我不能让这个匹配,这表明我的正则表达式错了。我确信这是一个非常明显的,但它已经很晚了,而我的咖啡因水箱是空的。)

2 个答案:

答案 0 :(得分:1)

你不需要逃脱句号,CodeIgniter会为你做大部分的逃避。

以下是我使用的一个工作示例:

$route['news/rss/all.rss'] = "news/rss";

答案 1 :(得分:0)

问题实际上是在.htaccess文件中,我创建了一个重写异常,允许直接访问搜索引擎文件,而不是通过codeigniter路由它们。

RewriteCond $1 !^(index\.php|google421b29fc254592e0.html|LiveSearchSiteAuth.xml|content|robots\.txt|favicon.ico)

成了

RewriteCond $1 !^(index\.php|content|favicon.ico)