Articles of .htaccess

排除受保护的子url在Apache 2.4上不起作用?

我尝试从受保护的网站中排除子url“/ shop / api”。 它在Apache / 2.2.15的不同服务器上正常工作,但现在不与Apache / 2.4.7? 它总是要求基本authentication。 任何想法我做错了什么? AuthType Basic AuthName 'Authentication required' AuthUserFile /var/www/vhosts/pwd/.htpasswd # Allow access to excluded diretories SetEnvIf Request_URI ^/shop/api/ noauth=1 Order deny,allow Satisfy any Deny from all Require valid-user Allow from env=noauth

从.htaccess转换nginx规则

我无法将一些.htaccess规则转换为nginx服务器。 RewriteRule ^$ index.php [L] RewriteRule ^([A-Za-z0-9-]+)?$ index.php?section=$1 [L] RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?section=$1&go=$2 [L] RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?section=$1&go=$2&action=$3 [L] 有人能够帮助转换和解释这些正则expression式将如何转换为nginx? 我不确定的语法,根据nginx文档我已经尝试了以下内容: server { rewrite ^([A-Za-z0-9-]+)?$ index.php?section=$1&go=$2; } 我也尝试了一个根位置块,如下所示。 我不知道try_files如何影响这个。 location / { rewrite ^$ /index.php break; rewrite ^([A-Za-z0-9-]+)?$ /index.php?section=$1 break; rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ /index.php?section=$1&go=$2 break; rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ /index.php?section=$1&go=$2&action=$3 break; rewrite ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ /index.php?section=$1&go=$2&action=$3&id=$4 break; try_files $uri $uri/ /index.php?$args; } […]

如何在Apache上阻止PROPFIND(或任何其他方法)

我怎样才能阻止我的整个网站上的PROPFIND(或其他方法,如PUT或DELETE)?

使用htaccessconfiguration会话长度

我的家庭networking服务器正在运行股票OSX Apache 2安装。 我有我想要保护的内容的一些目录,所以我设置这些地区的htaccess文件。 不过,我觉得不得不像我一样频繁地login到这些区域。 一旦我login,我不想再长时间login,类似于在cookie中设置很长时间。 但是,我想通过htaccess增加已validation会话的生命周期。 我GOOGLE了,但没有find我在找什么,也许是因为我在找错误的名词。 我想为通过htaccessauthentication的用户configuration“会话长度”,“会话超时”,“时间限制”或“过期”。 有什么想法吗?

configurationhtaccess / mod_rewrite在URL中提供带有问号的静态文件

我刚刚承担了一个从asp转换为静态html的古代网站,由约6000个文件组成。 但是,我的服务器不喜欢文件名,给出了一个404错误。 这些url都是以下格式: filename.asp?id=123&a=something.html 其中id始终是一个整数,而a总是一串字符和数字。 有什么办法可以使用htaccess和mod_rewrite来告诉它,问号是URL的一部分,而不是表示一个查询string?

基本身份validation只在DirectoryIndex

我正在尝试为我的索引文件configuration基本的身份validation,只有我的索引文件。 我已经这样configuration它: <Files index.htm> Order allow,deny Allow from all AuthType Basic AuthName "Some Auth" AuthUserFile "C:/path/to/my/.htpasswd" Require valid-user </Files> 当我访问该页面时,按401 Authorization Required返回401 Authorization Required ,但浏览器不会提示input用户名/密码。 一些进一步的检查显示Apache没有发送WWW-Authenticate头。 GET http://myhost/ HTTP/1.1 Host: myhost Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip,deflate,sdch Accept-Language: en-US,en;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 401 Authorization […]

访问DocumentRoot之外的目录

我最近使用Capistrano在我的Linux Redhat服务器上部署了一个Web应用程序,它在站点的文档根目录下创build以下目录结构: /var/www/html/example.com/releases/* /var/www/html/example.com/current 为了加载页面加载当前目录,我改变了我的httpd.conf,以便example.com的DirectoryRoot被设置为/var/www/html/example.com/current 。 问题是,我想要某些目录可用于浏览“当前”目录(phpMyAdmin和Bugzilla)之外。 我已经尝试touch .htaccess文件到/var/www/html/example.com但没有创build… 为了访问位于DocumentRoot外部的目录,我需要做些什么? 我应该更改DocumentRoot并使用.htaccess将Web浏览器转发到当前目录,还是有更好的方法? 另外,作为一个不重要的方面问题:使用特定端口用于某些服务是否明智? 当我使用cPanel时,他们使用:2082和使用的WHM:2086。 我可以在我的服务器上做类似的事情,使服务(phpMyAdmin和Bugzilla)更隐藏一点吗?

通过htaccess / apache代理所有的子域名请求到一个IP

比方说,我有以下自己的文档根等子域: monad2.mysite.com 我希望所有的请求代理到一个IP(例如193.159.3.129 ),但他们必须通过mysite.com服务器(假设monad2在同一台服务器上)。 我有以下(htaccess)configuration工作到子域,但无法代理任何其他请求… Options +FollowSymLinks RewriteEngine on RewriteRule (.*) http://193.159.3.129/$1 [P] 我的问题是,虽然它的工作http://monad2.mysite.com/a.php保持不变),它不能与http://monad2.mysite.com/a/b (url转换为http://193.159.3.129/a/b )。 请注意,后面的地址显示了代理服务器的目录列表,除了子域更改为ip之外,这是正确的。 另外,我认为这个系统肯定不适用于HTTPS请求,对吗? 编辑:经过一些更多的疑难解答,我已经find问题的确切时间。 每当我试图访问一个没有最后一个斜杠的目录,代理服务器就会失败,最后我得到一个IP。 一些例子: Original | Result ——————————–+——————————– http://monad2.mysite.com | http://monad2.mysite.com http://monad2.mysite.com/a/ | http://monad2.mysite.com/a/ http://monad2.mysite.com/a | http://193.159.3.129/a/ <- ! http://monad2.mysite.com/a.php | http://monad2.mysite.com/a.php

什么是设置客户select的域名的正确方法?

在我的networking应用程序中,我玩弄给我的用户select他们select的子域的机会,所以他们可以select像这样的东西: foobar.myapp.com foob​​ar是他们select的子域名。 什么是正确的方式去build立这样的事情? 的.htaccess? 有一些API写虚拟主机? 该应用程序仍然会映射到我的服务器上的一个目录,我只想给主题一个自定义的URL。

服务器记住旧的重写规则,即使我删除htaccess

我已经build立了一个Ubuntu和LAMP的开发服务器,但由于某种原因.htaccess奇怪的… 有一个网站上有一套规则,当我评论他们仍然工作,甚至当我将文件重命名为.htaccesss仍然工作! 如果我删除文件中的所有内容,它仍然可以正常工作,每当我进行更改时,重新启动Apache。 我已经尝试重新安装Apache,并重新安装重写模块,它仍然无法正常工作… 我添加的任何新规则似乎都没有任何影响,所以它正在从其他地方看到规则。 如果我通过在/ .htaccess文件中导致语法错误,我得到一个500服务器错误。 有caching规则的地方吗? 我从来没有遇到过这个问题! 编辑 :我解决了这个问题,通过在我的.htaccess文件中添加Options -Multiviews