小编Sco*_*ott的帖子

如何修复由.htaccess引起的过多重定向?

我最近在客户的网站上添加了一个Wordpress博客.我创建了一个子目录并在那里安装了Wordpress.一切正常,直到我将.htaccess文件添加到根目录.

RewriteEngine on
rewritecond %{http_host} ^websitename.com [nc]
rewriterule ^(.*)$ http://www.websitename.com/$1 [r=301,nc] 
Run Code Online (Sandbox Code Playgroud)

现在,当我点击博客链接时,我收到以下错误

The webpage at http://websitename.com/blog/ has resulted in too many redirects. 
Clearing    your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with 
your computer.
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?我对.htaccess一点也不熟悉.

编辑:为了清楚起见,301重定向适用于所有页面,博客文件夹除外.如果您输入websitename.com,则会重定向到www.websitename.com.但是,如果您输入websitename.com/blog,您将遇到错误.此示例中的博客指向Wordpress文件夹.

.htaccess redirect

7
推荐指数
1
解决办法
3万
查看次数

用户退出后,如何防止浏览器的后退按钮访问受限信息?

我正在使用github上的这个例子来获取护照本地策略与mongoose/mongodb.我遇到的问题是,当用户注销时,他们仍然可以通过点击浏览器上的后退按钮来访问受限信息.我对node.js有点新意,但我想在执行ensureAuthenticated后退和前进按钮之前需要实现某种类型的钩子来调用函数 - 一直位于代码的最底部.在用户注销后,如何通过点击后退按钮来阻止用户访问受限信息?

var express = require('express')
  , passport = require('passport')
  , LocalStrategy = require('passport-local').Strategy
  , mongodb = require('mongodb')
  , mongoose = require('mongoose')
  , bcrypt = require('bcrypt')
  , SALT_WORK_FACTOR = 10;

mongoose.connect('localhost', 'test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback() {
  console.log('Connected to DB');
});

// User Schema
var userSchema = mongoose.Schema({
  username: { type: String, required: true, unique: true },
  email: { type: String, required: true, unique: true },
  password: { …
Run Code Online (Sandbox Code Playgroud)

mongoose node.js express passport.js

6
推荐指数
1
解决办法
5329
查看次数

如何在xcode中恢复故事板?

我这里有一点情况.几天前,我不小心删掉了我的故事板,所以立即进入我的垃圾箱并将故事板拖回项目中.一切都很好.但后来我把垃圾清空了,故事板似乎不再出现在我的项目中; 故事板文件显示为红色,当我点击它时,没有任何加载.令我沮丧的是,我以为所有人都失去了所以我开始建立一个新的故事板并连接课程,出口和行动.

然后我去模拟器上构建项目,并使用OLD故事板构建.我以为它可能只是从内存加载它所以我删除了模拟器上的应用程序并再次构建项目.同样的事情.所以我把它构建到我的iPhone上,不管怎样,旧的故事板仍然在那里,即使我在项目的任何地方都找不到它.

这里发生了什么?这是否意味着我将能够恢复我的故事板?

此外,当我打开项目检查器并转到Build Phases> Copy Bundle Resources,然后右键单击Storyboard.storyboard,然后单击show in finder,它会显示我的新故事板. 在此输入图像描述

xcode storyboard

6
推荐指数
1
解决办法
6590
查看次数

如何在与meteor的mongo查询中使用新的Meteor.Collection.ObjectID()?

我有一个Collection,其中包含一组嵌套对象的文档.以下是填充数据库的fixture代码:

if (Parents.find().count() == 0) {
    var parentId = Parents.insert({
        name: "Parent One"
    });
    Children.insert({
        parent: parentId,
        fields: [
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 3,
                name: "three"
            },
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 1,
                name: "one"
            },
            {
                _id: new Meteor.Collection.ObjectID(),
                position: 2,
                name: "two"
            },

        ]
    });
}
Run Code Online (Sandbox Code Playgroud)

您可能会问自己,为什么我只需要根据名称进行更新时就需要ObjectID.这是我正在处理的更复杂的模式的简化示例,并且嵌套对象将动态创建,ObjectID肯定是使这项工作成为必需的.

基本上,我需要一种方法来保存具有唯一ID的嵌套对象,并且能够通过它们的_id更新字段.

这是我的方法,以及我从浏览器控制台进行的调用:

Meteor.methods({
  upChild: function( options ) {
        console.log(new Meteor.Collection.ObjectID());
        Children.update({_id: options._id, "fields._id": options.fieldId }, {$set: {"fields.$.position": options.position}}, function(error){
            if(error) {
                console.log(error);
            } else {
                console.log("success");
            }
        });
    }
}); …
Run Code Online (Sandbox Code Playgroud)

mongodb meteor

5
推荐指数
2
解决办法
1万
查看次数

使用swift with xcode放大用户位置的正确方法是什么

我有一个地图,我试图用来放大用户位置,我似乎可以让setUserTrackingMode正常工作.我有showsUserLocation工作正常,但我不能让它放大.我正在使用xCode 6与iOS 8和swift.这是我试图调用该方法的方式:

@IBOutlet var mapView : MKMapView
override func viewDidLoad() {
    super.viewDidLoad()
    self.mapView.showsUserLocation = true
    self.mapView.delegate = self;
    self.mapView.setUserTrackingMode(MKUserTrackingModeFollow, animated: true);
Run Code Online (Sandbox Code Playgroud)

我收到了一个错误 self.mapView.setUserTrackingMode(MKUserTrackingModeFollow, animated: true);

错误说"使用未解析的标识符'MKUserTrackingModeFollow'"

如何让它放大用户位置?

mkmapview ios swift

5
推荐指数
1
解决办法
3933
查看次数

带有节点 bcrypt 的 Docker — 无效的 ELF 标头

我已经尝试了这篇文章这篇文章中的所有解决方案

我没有找到解决运行时出现以下错误的解决方案docker-compose up

module.js:598
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: /code/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header
Run Code Online (Sandbox Code Playgroud)

这是我最近的尝试 docker-compose.yml

version: "2"

services:
  app:
    build: ./client
    ports:
      - "3000:3000"
    links:
      - auth
    volumes:
      - ./client:/code
  auth:
    build: ./auth-service
    ports:
      - "3002:3002"
    links:
      - db
    volumes:
      - ./auth-service:/code
  db:
    ...
Run Code Online (Sandbox Code Playgroud)

我的身份验证服务 Dockerfile:

FROM node:7.7.1

EXPOSE 3002

WORKDIR /code

COPY package.json /code

RUN npm install

COPY . /code

CMD npm start
Run Code Online (Sandbox Code Playgroud)

在尝试了上述两个链接中的每个解决方案后,我重建了容器,但总是导致相同的错误。

同样值得注意的是,当我不使用 docker 时,该服务在本地运行良好。

如何让 docker 与 bcrypt 一起工作?

更新 …

node.js docker docker-compose

5
推荐指数
2
解决办法
4972
查看次数

有没有办法以编程方式从我的javascript文件中调用和执行pjax?

我有一个功能,等待用户点击文本类型的输入,然后等待用户按向下和向上箭头键.当用户按下向下和向上箭头键时,调用函数hoverDown(),它基本上以编程方式悬停在表行上.按下enter键时,将调用window.location并加载相应的页面.问题是我在整个应用程序中使用pjax来动态加载内容并在没有页面刷新的情况下推送新的url.当我调用window.location函数时,pjax不再起作用,而是加载了正确的url并且发生了整页刷新 - 这是我想要避免的事情.有没有办法以编程方式从我的函数中调用和执行pjax?相关代码:

// HTML

<div id="main">
<input type="text" class="table-search" id="search" autocomplete="off"   placeholder="Search Clients..." /><table class="table" id="tblData">
<thead><tr><th>Name</th> <th>Title</th></tr></thead>
<tbody id="tblDataBody">
<tr><td><a href="http://lar.loc/cases">Scott</a></td> <td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Billy</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">George</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Sara</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">John</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Megan</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Ben</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Jully</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Bethany</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Alen</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Jane</a></td><td>Client</td></tr>
<tr><td><a href="http://lar.loc/cases">Alice</a></td><td>Client</td></tr></tbody></table>
</div>
Run Code Online (Sandbox Code Playgroud)

//使用Javascript

$(document).ready(function(){
    $("#main").on("keydown", "#search", hoverDown);
});

function hoverDown(e) {
    var $tbl = $('#tblDataBody');
    var $cur = $('.active', $tbl).removeClass('active').first();

    if (e.keyCode === 40) { //down
        if ($cur.length) {
            $cur.next().addClass('active');
        } else { …
Run Code Online (Sandbox Code Playgroud)

javascript jquery pjax pushstate

4
推荐指数
1
解决办法
2614
查看次数

Docker 与子目录组合并实时重新加载

我使用create-react-app创建了一个应用程序,并设置了 docker compose 来设置容器并启动应用程序。当应用程序在根目录中时,应用程序启动并且实时重新加载工作。但是当我将应用程序移动到子目录时,我可以启动应用程序,但实时重新加载不起作用。

这是工作设置:

文件

FROM node:7.7.2

ADD . /code

WORKDIR /code

RUN npm install

EXPOSE 3000

CMD npm start
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "2"

services:
  client:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - .:/code
Run Code Online (Sandbox Code Playgroud)

目录结构

app
- node_modules
- docker-compose
- Dockerfile
- package.json
- src
- public
Run Code Online (Sandbox Code Playgroud)

这是我想要的结构:

app
- server
- client
  / node_modules
  / Dockerfile
  / package.json
  / src
  / public
- docker-compose.yml
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能想到的所有变体,但实时重新加载不起作用。

我必须做的第一件事是更改构建位置:

version: "2"

services:
  client:
    build: ./client
    ports:
      - …
Run Code Online (Sandbox Code Playgroud)

docker reactjs docker-compose

4
推荐指数
1
解决办法
6454
查看次数

如何检查对象/字典中是否存在属性?

我遍历字的数组,并试图他们的东西在对象文本,所以我可以分配的那些话多少次发生的每个单词字面/字典中的值.问题是我需要检查以确保该单词尚未添加到我的文字中.我试图in用来检查文字中是否存在属性,但是它引发了一个错误:

Cannot use 'in' operator to search for 'We' in undefined

这是有问题的功能:

我评论了引起问题的那条线

function wordCountDict(filename) {
   wordCount = {};
   inputFile = fs.readFile( root + filename, 'utf8', function( error, data ) {  
      if(error) {
         console.log('error: ', error) 
         return false;
      }

      var words = data.split(" ");
      for (i in words) {

         if(words[i] in wordCount) {  // This is where the problem occurs
            wordCount[words[i]]++;
         } else {
            wordCount[words[i]] = 1;
         }
         console.log(words[i]);
      }

   });
}
Run Code Online (Sandbox Code Playgroud)

我来自python,这始终是实现这一目标的最好/最简单的方法,但javascript似乎并不同意.

我如何在JavaScript中执行此操作?

javascript dictionary node.js

0
推荐指数
1
解决办法
97
查看次数