使用Kraken JS处理URL重写和静态文件

时间:2015-04-14 09:34:38

标签: node.js express url-rewriting kraken.js

我有一个单页应用程序,我将其从更传统的Apache设置转换为KrakenJS。除了一点之外,这一切都很顺利。

该应用程序使用套接字来更改其状态,我们曾经为用户生成友好的URL以返回上一次搜索。像这样使用.htaccess设置:

RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(favicon\.ico|favicon\.png|media|robots\.txt|crossdomain\.xml|css|js)
RewriteRule ^(.*)$ index.php [L]

这样,我们的静态文件得到了正确处理,所有其余文件被重定向到index.php,后者处理解析并继续查询正确的结果(例如:example.com/section1/category1,将重定向到主页面,并通过套接字发送section1,category1项目的查询。

我尝试修改index.js中的主路由以添加通配符,但无法处理静态文件(RewriteCond $1 !^(*static extensions*)

router.get('/', function (req, res) {
   ...
}

这个适用于用户从首页开始的用例,但(显然)如果我想直接访问/ sec1 / cat1

,则会给我不存在的路由
router.get('*', function (req, res) {
   ...
}

这个重定向正确,但无法找到静态文件。

知道如何以与RewriteCond类似的方式处理静态文件吗?

0 个答案:

没有答案