标签: vhosts

检查cookie是否包含指定内容NGINX

在这种情况下,有无数的教程可以检查cookie是否存在并包含我的内容foobar.

我如何做以下假设mycookie是我想要设置的cookie.

if ($cookie_mycookie does not equal "foobar") {
  return 401;
}
Run Code Online (Sandbox Code Playgroud)

我试过以下无济于事.

if (!$http_mycookie ~* "foorbar" ) {
  return 401;
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

configuration config nginx vhosts

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

与主机名无关的Yesod应用程序

这是一个非常简单的问题:如何运行可以同时处理多个主机的Yesod应用程序?

默认的Yesod设置可以处理来自任何主机的传入连接,但所有URL都会approot在它们前面进行渲染.joinPath如果存在一种存储当前域的方式以便该函数可用,那么覆盖Yesod实例声明是可能的,但是没有.

这个维基页面上描述的方法有效,但是非常hackish,因为它强制路由采取额外的domain参数(因为我没有一组静态的域匹配).出于实际目的(因为我有很多路由,其中​​一些是与域无关的),最好有一个解决方案使路由不受影响,因为仍然可以从WAI请求信息中获取主机名.处理函数.

我使用需要绝对URL的东西(例如电子邮件,RSS,XML API),因此approot _ = ""不是一种选择.

我不能也不能在编译时知道需要支持的所有主机名.

那么,如何呈现URL以便它们使用传入请求的主机名,而不是approot变量?

haskell vhosts yesod

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

.htaccess使用Yii框架在子目录中的站点

我已经查看了几个子目录中网站的htaccess配置示例,并尝试了其中大部分没有100%成功.

我的设置是:

  • 使用Yii框架
  • htaccess at public_html/.htaccess
  • 站点位于public_html/mysite目录内
  • 索引处理位于的所有请求 public_html/mysite/frontend/www/index.php

网址状态:

  • www.mysite.com工作正常[ok]
  • www.mysite.com/controller/action给我看主页[错]
  • www.mysite.com/mysite/frontend/www/controller/action工作正常[错误,上面的项目应该工作]

我的.htaccess目前看起来像这样:

AddHandler application/x-httpd-php53s .php .html

Options +SymLinksIfOwnerMatch
IndexIgnore */*

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/mysite/frontend/www

RewriteRule ^(.*)?$ /mysite/frontend/www/index.php [L]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了一切,但我不知道为什么www.mysite.com/controller/action不起作用:(

任何帮助将非常感激!谢谢!

php url .htaccess yii vhosts

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

如何使用.htaccess而不是VHost将文档根目录设置为子目录

在我的本地机器上,以下工作完美:

 <VirtualHost *:80>
       ##ServerAdmin postmaster@dummy-host2.localhost
       DocumentRoot "C:/xampp/htdocs/website_1"
       ServerName testpage.com/website_1
       ##ServerAlias www.recruitement.localhost
       ##ErrorLog "logs/dummy-host2.localhost-error.log"
       ##CustomLog "logs/dummy-host2.localhost-access.log" combined
 </VirtualHost>
Run Code Online (Sandbox Code Playgroud)

Howerver Im将我的网站托管给托管公司justhost.com,他们不允许我修改httpd-vhosts.confhttpd.conf.现在我的整个网站都经过编码,以便website_1下的文件引用website_1下的其他文件,使用简单的斜杠"/"表示website_1被视为文档根目录.这在本地机器上运行得很好但是当上传到主机时它给我服务器错误,因为它无法找到文件,因为它试图在public_html中找到这些文件

例如:

  public_html
      - website_1
         - script.php
         - style.css
Run Code Online (Sandbox Code Playgroud)

在我的script.php里面:

<a href="/style.css">See My Style</a>
Run Code Online (Sandbox Code Playgroud)

这在本地机器上运行良好,但在主机上它失败,因为它试图在public_html下找到style.css 而不是public_html/website_1

有没有办法在不使用VHost的情况下拥有多个文档根?喜欢使用.htaccess或其他东西.我想尽量避免重写代码,因为它大约有10万行代码.

php apache .htaccess vhosts

6
推荐指数
2
解决办法
4万
查看次数

Grunt服务器不使用虚拟主机名为我的app..vhost和httpd设置但grunt没有使用它们

所以我试图用名字设置我的应用程序,而不是使用127 0 0 1.每次我运行grunt,我的地址是http://127.0.0.1:9000/#/......我尝试了很多东西,没有任何工作...我总是被重定向到那个地方.

这是我的文件:

httpd.conf文件

<VirtualHost *:80>
    DocumentRoot "/Users/myusername/Sites/MyApp/app"
    ServerName myapp.dev
    <Directory "/Users/myusername/Sites/MyApp/app">
    Options FollowSymLinks MultiViews Indexes
    AllowOverride All
    Order allow,deny
    Deny from none
    Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

主机

127.0.0.1 myapp.dev
::1 myapp.dev
Run Code Online (Sandbox Code Playgroud)

Gruntfile.js

// Generated on 2013-11-08 using generator-angular 0.5.1
'use strict';

// # Globbing
// for performance reasons we're only matching one level down:
// 'test/spec/{,*/}*.js'
// use this if you want to recursively match all subfolders:
// 'test/spec/**/*.js'

module.exports = function (grunt) { …
Run Code Online (Sandbox Code Playgroud)

httpd.conf vhosts gruntjs yeoman grunt-contrib-connect

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

调试为什么我在 Apache 2.4 中收到“您没有访问权限”

我正在尝试在 Linux/Ubuntu 中创建本地环境。

我已经安装了 Apache 2.4.7(使用 apt-get)。

我已将 /etc/hosts 更改为:

127.0.0.1   example.dev
127.0.0.1   localhost
...
Run Code Online (Sandbox Code Playgroud)

我还在“/etc/apache2/sites-available”中添加了一个文件“example.dev.conf”,如下所示:

<VirtualHost *:80>
    ServerName example.dev
    DocumentRoot "/home/yahya/path/to/projec"
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory "/home/yahya/path/to/project">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Run Code Online (Sandbox Code Playgroud)

但是当我转到 example.dev 时,我收到以下消息:

第403章 禁止!您没有权限访问此服务器上的 /。

我还根据<Directory />此链接的建议编辑了 apache.conf 部分:禁止您无权访问此服务器上的 /错误消息“禁止您无权访问此服务器上的 /”

从:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>
Run Code Online (Sandbox Code Playgroud)

<Directory />
    Options Indexes FollowSymLinks Includes ExecCGI …
Run Code Online (Sandbox Code Playgroud)

apache hosts hosts-file vhosts apache2.4

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

Express不会在vhosts中提供静态ejs文件

我能得到的最接近的是客户端下载它们.它将下载正确的ejs文件.

它让我发疯,因为我觉得它应该有效,但事实并非如此.如果我把html文件放在那里他们服务就好了.这有点乱,因为我一直在尝试各种各样的事情.

var application_root = __dirname;
var express = require('express');
var vhost = require( 'vhost' );
var https = require('https');
var http = require('http');
var fs = require('fs');
var path = require("path");
var forceSSL = require('express-force-ssl');
//do something
var app = express();
var credentials = {};

var config = require('./config.json')[process.env.NODE_ENV || 'dev'];

//Use ejs?
app.set('view engine', 'ejs');
app.engine('html', require('ejs').renderFile);

//Ensure all are going to www.
app.all(/.*/, function(req, res, next) {
  var host = req.header("host");
  if (host.match(/^www\..*/i)) {
    next();
  } else …
Run Code Online (Sandbox Code Playgroud)

ejs vhosts node.js express

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

xampp - mysite.local重定向到xampp文件夹

我整个晚上一直在打击我的头,看不出我出错的地方.我想在xampp上设置一个主机mysite.local并遵循所有说明,但我一直被重定向到mysite.local/xampp.

我在这里出错的任何想法?路径是正确的,我重新启动了Apache :)

我编辑了我的hosts文件来添加:

127.0.0.1   mysite.local
Run Code Online (Sandbox Code Playgroud)

我编辑了extra/httpd-vhosts.conf:

NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
  Options Indexes FollowSymLinks MultiViews
   AllowOverride all
       Order Deny,Allow
       Allow from all
</Directory>
</VirtualHost>

<VirtualHost localhost:80>
<Directory "/Applications/XAMPP/xamppfiles/htdocs/wd">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
       Order Deny,Allow
       Allow from all
</Directory>
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/wd"
    ServerName mysite.local
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

apache xampp localhost httpd.conf vhosts

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

具有动态 apache vhost 的非通配符证书

我正在尝试根据用于连接到我的服务器的 url 动态读取 SSL 证书的位置。我尝试了几种不同的方法,但似乎都不起作用。目前我的配置如下所示

UseCanonicalName Off

listen 443

<VirtualHost *:443>
  ServerName example
  ServerAlias *

  SSLEngine on
  SSLCertificateFile /etc/letsencrypt/live/%0/cert.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/%0/privkey.pem

  VirtualDocumentRoot /var/www/vhosts/%-2/%-3+/public
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这里的问题是,当我启动 apache 时,出现错误,提示找不到 ssl 证书的文件位置,该证书声明“/etc/letsencrypt/live/%0/cert.pem”

所以看起来 %0 没有被 url 替换。

编辑:当我手动仅用 url 替换 %0 时,则表示 url 具有有效的 SSL

apache ssl vhosts lets-encrypt

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

Apache,如何处理像标准 URL 这样的未知 php 文件?

我有一个 Symfony 网站,在那里我重命名了主要入口点,因此“index.php”无法访问,也无法被搜索引擎编入索引。它运作良好。但是,当我尝试访问这个文件时,我发现一个 404 文件没有找到,这个 404 页面是由 Apache 而不是由应用程序处理的,它是标准的 404 页面:

Not Found
The requested URL was not found on this server.
Run Code Online (Sandbox Code Playgroud)

我希望Symfony 应用程序处理像/index.php(实际上是 *.php)这样的 URL,以显示具有良好布局的自定义错误页面。我的虚拟主机看起来像这样,我尝试添加“目录索引”指令但没有成功。

# configuration/vhosts/prod/mywebsite.com-le-ssl.conf
<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerName www.mywebsite.com
        DocumentRoot /var/www-protected/mywebsite.com/public

        <Directory /var/www-protected/mywebsite.com/public>
            AllowOverride All
            Require all granted
            FallbackResource /my-secret-entry-point.php
        </Directory>

        RedirectMatch 404 /\.git

        ErrorLog /var/log/apache2/mywebsite.com_error.log
        CustomLog /var/log/apache2/mywebsite.com_access.log combined

        RewriteEngine on
        RewriteCond %{SERVER_NAME} =mywebsite.com
        RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

        SSLCertificateFile /etc/letsencrypt/live/www.mywebsite.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.mywebsite.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
    </VirtualHost>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

php apache vhosts symfony

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