如何从Grunt文件加载.htaccess

时间:2016-02-09 18:36:10

标签: php .htaccess gruntjs

我的目录看起来像是

Project 
-- dev
   -- .htaccess
   -- .index.php
-- dist

Gruntfile.js
node_modules
package.json

我正在尝试使用Grunt打开一个持久的PHP服务器,但是我也想使用.htaccess文件,但是Grunt不会识别它。

目前我的PHP文件如下:

php: {
        watch: {
            css: {
                files: ['dev/styles/**/*.scss'],
                tasks: ['sass:dev']
            },
            scripts: {
                files: 'dev/scripts/javascript/*.js',
                tasks: ['jshint', 'uglify']
            }
        },
        options: {
            keepalive: true,
            open: true,
            base: 'dev',
            port: 8000,
            router: '.htaccess'
        }
    }

一旦php服务器打开,就会发生以下错误:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required '.htaccess' (include_path='.;C:\php\pear') in Unknown on line 0

1 个答案:

答案 0 :(得分:0)

尝试将dot:true添加到您的选项

options: { dot: true },

在进一步阅读时,我认为路由器文件应该是一个将在服务器启动时运行的文件。如果此脚本返回false,则按原样返回请求的资源。

所以它应该是一个.php文件,尝试用虚拟文件替换.htaccess并查看错误是否消失。

这是一个示例文件

<?php
// router.php 
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is 
} else {
    echo "<p>Thanks for using grunt :)</p>";
}
?>