Tag: .htaccess

漂亮的URL与Node.js / Gulp使用.htaccess?

我正在部署一个静态网站与远程共享​​主机。 每个页面都有一个.html扩展名,我想从url中删除,以使它们更漂亮。 所以我将下面的.htaccess文件添加到托pipe服务器上的网站目录的根目录: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.html [NC,L] 这在主机网站上完美工作,即当我inputURL mywebsite.com/page时,服务器显示mywebsite.com/page.html而不显示在URL中。 我的问题是,我正在开发使用LiveReload Gulp的网站。 这是我的gulpfile.js: var gulp = require('gulp'); var browserSync = require('browser-sync').create(); var pkg = require('./package.json'); // Copy vendor files from /node_modules into /vendor // NOTE: requires `npm install` before running! gulp.task('copy', function() { gulp.src([ 'node_modules/bootstrap/dist/**/*', '!**/npm.js', '!**/bootstrap-theme.*', '!**/*.map' ]) .pipe(gulp.dest('vendor/bootstrap')) gulp.src(['node_modules/jquery/dist/jquery.js', 'node_modules/jquery/dist/jquery.min.js']) .pipe(gulp.dest('vendor/jquery')) […]

htaccess与www.example.com,但不是example.com

我已经安装了需要nodejs运行的Ghost。 我通过托pipe托pipe在Apache Linux服务器上执行此操作。 他们好心让我loginSSH访问,所以我已经能够使用标准的安装说明设置nodejs和Ghost。 我将ghost安装到了我的域的根目录下,所以在正常的操作中,有人会去example.com,它会显示我的博客。 那就是我所希望的。 但是现在当我在浏览器中加载Ghost的时候,我发现,因为我按照自己的方式访问Ghost,并且Ghost没有configuration服务器,所以我似乎需要一个htaccess文件才能使网站到达。 所以,我创build了这个htaccess文件: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ http://127.0.0.1:65515/ [P,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ http://127.0.0.1:65515/$1 [P,L] </IfModule> 保存到根目录,如果我去example.com/ghost(Ghost的pipe理面板),它的工作原理。 没有错,看起来不错。 但是,如果我尝试访问根目录(即goto example.com),而不是向我显示索引,则会显示index.js – 即从字面上加载Ghost的index.js文件的内容并显示它,而不是parsing它并显示该网站的主要索引。 但是,如果我去www.example.com那么一切正常。 所以不pipe是什么问题是因为我没有使用www。 在域中。 我宁愿它在URL中使用或不使用www。 我曾尝试添加一些解决scheme,将www.example.com的非www请求redirect到ehtaccess,但由于某种原因,它仍然不起作用(如果我inputexample.com,它不会将我redirect到www.example .COM)。

使用NodeJS收集所有redirect的URL的URL

我想检索从源URL Xredirect的URL列表,它可能有许多redirect的URL,但我想要它的所有列表。 例如: http://www.example.com/origin-url 它将redirect到 http://www.example.com/first-redirect 再次将redirect到 http://www.example.com/second-redicect 最后是这个 http://www.example.com/final-url 所以我想要的是使用NodeJs或Express的所有这些URL的列表 http://www.example.com/origin-url –>> http://www.example.com/first-redirect –>> http://www.example.com/second-redicect –>> http://www.example.com/final-url 给我这个build议,我应该使用哪个节点模块来实现这一点。 提前致谢。

使用服务工作者时,请脱机重写URL

我正在使用由名为sw-precache的Nodejs插件生成的服务工作程序来创build具有脱机function的Web应用程序。 一切工作正常,我可以离线访问HTML文件或图像。 但是,因为你没有服务器端语言可能,有没有一种方法来重写URL客户端像.htaccess文件会做? 像没有文件匹配的url时显示“404网页找不到”页面? 我知道redirect可能使用Javascript或元标签,但重写url?

$ locationProvider html5mode导致“无法GET”错误刷新 – AngularJS节点的应用程序

我正在尝试使用locationProvider从我的Angularjs应用程序的URL中删除标签,直到手动刷新页面为止。 这总是在浏览器中导致“无法GET ..”错误。 我已经做了一些研究,我想我必须使用.htaccess文件redirect,但我不知道如何实现它,我已经在网上search的解决scheme,但没有运气到目前为止。 这是我的app.js处理路由到我的Angular视图和控制器: (function () { 'use strict'; var myApp = angular.module('myApp', ['ngRoute']); myApp.config(function($routeProvider, $locationProvider) { $routeProvider. when('/', { templateUrl: 'views/partials/play.html', controller: 'playCtrl' }). when('/dictionary', { templateUrl: 'views/partials/dictionary.html', controller: 'dictionaryCtrl' }). when('/add', { templateUrl: 'views/partials/word.html', controller: 'wordCtrl' }). when('/about', { templateUrl: 'views/partials/about.html', controller: 'aboutCtrl' }). otherwise({redirectTo: '/'}); // use the HTML5 History API […]

浏览器的CORS设置 – >网站 – > API服务器

我目前正在运行两个站点,一个基于PHP,一个基于node.js。 node.js版本是API,所以我们称之为“api.com” PHP网站(php.com)是基于HTML / JSangular度的可视网站“php.com”,使用angular度资源POSTs调用“api.com”。 所以一切都很好,直到最近我开始gettting这个错误。 MLHttpRequest cannot load https://api.com/create. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://php.com' is therefore not allowed access. The response had HTTP status code 400. 所以有几件事要注意。 该api.com是从一个https网站,其中PHP是http。 在node.js restify api.com网站,它正在做我认为是必要的CORS支持。 // Allow CORS since other sites may be […]

样式表使用node.js发送错误的MIMEtypes,我该如何解决?

node.js / express代码 var express = require('express'), app = express(), port = process.env.PORT || 3000, path = require('path'); app.use('/public', function (req, res) { res.sendfile(path.join(__dirname + '/public/index.html')); }); app.use('/', function (req, res) { var data = '<h1>hello world</h1>'; res.writeHead(200, {'Content-Type': 'text/html'}); res.end(data) }); app.listen(port); console.log('server started at port %s ', port); HTML <!DOCTYPE html> <html lang="de"> […]

如何在Heroku的Node.js应用程序中从子文件夹redirect到静态JavaScript应用程序?

我已经在React中构build了一个静态JavaScript应用程序,并将其部署到了firebase,并且位于example.firebaseapp.com 。 我也有一个Node应用程序,在www.example.com上提供我的主应用程序,并在Heroku上托pipe。 我试图弄清楚的是,如何访问给定的子文件夹,例如www.example.com/app时,如何让用户访问我的静态JavaScript应用程序? 另外,有没有办法做到这一点,我不必处理CORS的问题,因为他们将基本上住在同一个域名?

如何使用Express添加MIMEtypes

我试图让Firefox播放video标签。 通常情况下,我只是将它添加到Apache的.htaccess文件中: AddType video/ogg .ogv AddType video/mp4 .mp4 AddType video/webm .webm AddType audio/mpeg .mp3 AddType audio/ogg .ogg AddType audio/mp4 .m4a AddType audio/wav /wav 我如何使用Express / NodeJS来做到这一点?

如何使用htaccess的替代密码保护nodejs应用程序

我有一个与www.domain.com aws托pipe的网站,有两个子域test.domain.com和stage.domain.com。 我正在使用MEAN进行开发,现在我想要的是密码保护我的子域test.domain.com和stage.domain.com,但以类似的方式,我们在使用htaccess的PHP中。 现在我个人喜欢这个htaccess方法,因为在这个方法中你的应用程序的代码将是相同的,authentication将被htaccess添加。 任何想法如何在不改变应用程序代码的情况下在nodejs中做到这一点,以便我可以在将来如果我想要删除它 。 PS:只有提示欢迎。