0

我正在使用MVC,并且在我的应用程序文件中,我以这种方式路由:

# Routing
$routing = array(
    '([a-zA-Z]+)\/?'    =>  array('Post', 'view')
);
framework::routing($routing);

这意味着像“mysite.com/anything/”这样的所有 URL 都将被路由到相同的模板,但内容不同。到那时,一切都好。

我的问题是我想为此破例,

因为我想直接在浏览器中访问我的页面“mysite.com/uploads”,但是由于路由 php 的东西,我被重定向了。

有没有办法让这个路由例外?像路由除“上传”外的所有名称一样?

我可以提交路由文件,但由于它与 codeigniter 几乎相同,因此您可能不需要它。

谢谢

4

1 回答 1

1

看到您的网址不再包含 index.php 部分,我猜您添加了一个 .htaccess 文件来执行此操作,可能看起来像这样(直接来自 codeigniter 文档):

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

如果是这种情况,并且上传文件夹与 codeigniter 的根 index.php 文件位于同一文件夹中,则应将第二行更改为:

RewriteCond $1 !^(index\.php|images|uploads|robots\.txt)

但这一切都取决于您的具体配置。

编辑:尽管您似乎没有使用 CodeIgniter,但这同样适用于 Zend Framework MVC。您应该对重写规则进行例外处理,以允许直接访问您的上传目录。

于 2012-11-03T13:01:54.353 回答