Articles of .htaccess

htaccess命令拒绝,允许规则

我想通过htaccessdynamic地添加IP到块列表。 我希望有人能告诉我,如果以下将在我的情况下工作(我不确定如何通过本地testing)。 我的.htaccess文件将默认具有以下内容: order allow,deny allow from all IP将被dynamic追加: Order Deny,Allow Allow from all Deny from 192.168.30.1 我理解这一点的方式是,默认情况下允许所有的拒绝规则的可选列表。 如果我没有把错误Order Deny,Allow先看看拒绝列表,这是正确的吗? 而且从所有规则的允许需要在最后? 编辑1 如果我没有弄错,我需要根据jeffatrackaid的回答做到这一点: Order Allow,Deny Allow from all Deny from 192.168.30.1 编辑2 为了完整起见,这可能更适合我的要求: Order Deny,Allow Deny from 192.168.30.1

如何使htaccess在表单提交时不redirect到http

部分.htaccess文件在某些​​页面上强制https (例如,当用户login时,input信用卡信息等),同时在所有其他页面上强制http 。 这似乎是我需要的理想设置。 但是,我的网站的其中一个分机负责生成信用卡处理表单。 在表单的动作url中,它包含了web根目录的https url(例如https://domain.com/ )。 但是,web根目录不是.htaccess强制https页面之一,因此它强制redirect到http 。 正因为如此,该扩展失败,因为该表单正试图提交到一个httpsredirect到http 。 我该怎么办? 我不希望用户在不需要时查看受保护的页面; 我宁愿他们收获caching的好处。 显然,在受保护的页面上,他们需要提交到安全的URL(我的网站的CMS显然是这样工作的,所有表单提交到web根目录工作得很好)。 我无法告诉扩展程序提交到不同的URL。 以下是我的.htaccess的相关部分: <IfModule mod_rewrite.c> RewriteEngine On # Define default protocol for all assets RewriteRule ^ – [E=protocol:http,E=ssl:%{HTTPS}off] # Define HTTPS targets, add more cond as required RewriteCond $1 (payment|sign-in|sign-up) [NC] RewriteRule (.*) – [E=protocol:https,E=ssl:%{HTTPS}on] # Rewrite host if necessary […]

htaccess密码多个密码相同的用户

如何在.htaccess密码保护中为同一用户分配多个密码 ? 它看起来像我的.pass文件,但只有第一个工作 克里斯蒂娜:o5hZ6Uplugq.2 克里斯蒂娜:uaZOUG6BzJaUc

SuppressDescription删除所有列,但名称

我使用mod_autoindex成功一段时间(花式索引)。 然而,因为我看不到我的“描述”列,我想我会删除它。 根据文档 ,有SuppressDescription来做到这一点。 所以我去把这一行添加到.htaccess文件中: IndexOptions SuppressDescription 它确实删除了该列,但也删除了其他所有列。 它只留下了文件名的<ul> 。 没有更多的花式上市。 如果我删除该行,我将回到标准的“名称|修改|大小|描述”列表。 任何想法,我怎么可以跟踪,并解决只删除说明列leaver其他3不变? 之前: 后:

如何设置Apache RewriteRule的切换?

我有以下的Apacheconfiguration,除了我的IP地址外,它向所有访问者显示503服务不可用错误: ErrorDocument 503 /503.html RewriteEngine On RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ RewriteCond %{REQUEST_URI} !^/503.html$ RewriteRule .* – [R=503] 这样我就可以在我的网站上进行维护而不会向用户显示任何错误。 (我正在使用我的实际IP,而不是127.0.0.1 。) 但是,要closures或打开我需要注释/取消所有行的注释,或完全删除它。 在我运行nginx的其他服务器上,我使用了一个带有variables的geo子句(如在这个问题中所见)。 所以我可以改变default从0到1来打开它。 有没有办法在Apache中做类似的事情?

Nginx:将httpredirect到https(错误:redirect过多)

运行Nginx并尝试redirect: www到非www http到https 我意识到有类似的线程,但没有相同的情况。 我已经安装了Webmin / Virtualmin和Fast-CGI。 我在这个服务器上有很多帐号/网站。 对于mysite,这是服务器块: server { listen my_server_IP; server_name example.com www.example.com; return 301 https://example.com$request_uri; root /home/example/public_html; index index.html index.htm index.php; access_log /var/log/virtualmin/example.com_access_log; error_log /var/log/virtualmin/example.com_error_log; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME /home/example/public_html$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI […]

为什么不在Linux上运行.htaccess规则(ubuntu 14.04)

我已经从运行WAMP的Windows机器上复制了一个站点到一个带有标准LAMP栈的Linux机器上。 除了.htaccess中的规则之外,一切工作都很好。 我已经确认.htaccess正在testing一个简单的规则,所以我知道它与Apacheconfiguration无关。 这些规则在我的Windows机器上工作得非常好。 这里是我的.htaccess文件规则的一个副本。 RewriteRule ^admin/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ index.php?admin=1&class=$1&id=$2&method=$3 [L,QSA] RewriteRule ^admin/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ index.php?admin=1&class=$1&method=$2 [L,QSA] RewriteRule ^(.*)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ index.php?class=$1&id=$2&method=$3 [L,QSA] RewriteRule ^admin/([A-Za-z0-9-]+)/$ index.php?admin=1&class=$1 [L,QSA] RewriteRule ^(.*)/([A-Za-z0-9-]+)/$ index.php?class=$1&method=$2 [L,QSA] RewriteRule ^download/([A-Za-z0-9-]+.*) index.php?class=downloads&method=download&target=$1 [L,QSA] RewriteRule ^stream/([A-Za-z0-9-+]+.*) index.php?class=downloads&method=download&target=$1 [L,QSA] RewriteRule ^(.*)/$ index.php?class=$1 [L,QSA] 有什么理由为什么这些不会在Linux上工作。 编辑: 我请求的URL是http://domain.com/access所以我创build了这个规则RewriteRule access index.php?class=access它的工作。

locking维基只能访问密码,但通过.htaccess保持对子网的开放

基本上我们有一个Wiki,里面存有一些敏感信息 – 不是我知道的最好的,但是我的前任设定的。 我希望能够请求不在本地networking子网中的任何人访问密码。 那些在本地子网上的应该能够继续而不input密码。 下面的.htaccess似乎不再工作,因为它是让非本地访问而不需要密码: AuthName "Our Wiki" AuthType Basic AuthUserFile /path/to/passwd/file AuthGroupFile /dev/null Require valid-user Allow from 192.168 Satisfy Any order deny,allow 我无法弄清楚为什么。 最近升级了它应该保护的WikkaWiki,它对.htaccess文件进行了破坏,所以我从内存/谷歌search中恢复了上述内容。 也许我错过了一个重要的指示? 完整的.htaccess如下所示: AuthName "Our Wiki" AuthType Basic AuthUserFile /path/to/passwd/file AuthGroupFile /dev/null Require valid-user Allow from 192.168 Satisfy Any SetEnvIfNoCase Referer ".*(adultsite|picturesplace|learnthebiz|pi-o).*" BadReferrer order deny,allow deny from env=BadReferrer <IfModule mod_rewrite.c> […]

如何从我的RewriteRule Htaccess规则中排除一个子文件夹?

我的网站根目录中有一个.htaccess,如下所示: RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.mydomain\.pl [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?([a-z0-9_-]+)\.mydomain\.pl [NC] RewriteRule ^/?$ /index.php?run=places/%1 [L,QSA] RewriteCond %{REQUEST_URI} !^/index.php$ RewriteCond %{REQUEST_URI} !^/images/ RewriteCond %{REQUEST_URI} !^/upload/ RewriteCond %{REQUEST_URI} !^/javascript/ RewriteRule ^(.*)$ /index.php?runit=$1 [L,QSA] 我已经在文件夹客人安装了自定义留言簿,现在我想要禁用上面这个特定文件夹的规则。 所以当我input: mydomain.pl/guests 我想正常去实际文件夹的客人。 我知道我需要以某种方式禁用客人子文件夹上面的规则,但我该怎么做?

404错误的htaccessredirect只是打印文件名,不执行文件

在Apache主机上,我有一个名为/ thumbs的文件夹,其中有一个名为program.php的程序 ,我将用它来创build缩略图。 有一个.htaccess文件包含以下行: options -indexes errordocument 404 program.php 应该发生的是,当我打电话给/thumbs/image1.jpg时,应该执行program.php。 实际情况是浏览器只是回应了程序的名字 。 调用/thumbs/image1.jpg导致浏览器显示: program.php 并没有执行代码。 我已经在其他许多网站上使用过这种技术,并且已经工作了,但是现在还没有。 有人知道为什么这可能是这种情况?