Articles of .htaccess

Apache目录访问与虚拟主机

我有一个像这样的configuration的虚拟主机。 当我试图进入foobar.com/dir提供有效的用户名/密码对,我得到403禁止的页面,而不是该目录的内容。 www.foobar.com/dir有777个权利,.httpaswd是chmoded 644.但我不明白为什么我还没有看到内容。 请给我一个提示。 ServerAdmin webmaster@localhost ServerName www.foobar.com ServerAlias www.foobar.com DocumentRoot /var/www/foobar <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/foobar> Options -Indexes FollowSymLinks AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> <Directory /var/www/foobar/dir> AllowOverride AuthConfig AuthName […]

以下.htpasswd .htaccessloginSSL是否受到保护?

我有一个使用.htpasswd / .htaccess HTTP身份validation保护的目录。 在目录的.htaccess文件中,我有这个: SSLRequireSSL <Files .htaccess> order allow,deny deny from all </Files> AuthUserFile /var/www/xyz/.htpasswd AuthName "Restricted Area" AuthType Basic Require valid-user 当我到受保护的目录中的一个页面时,我被迫按照我所希望的SSLRequireSSL指令https。 这意味着,在我对login凭据提出质疑的时候,浏览器(Firefox)地址始终以HTTPS://开头。 这很好,但是直到我input证书并进入受保护的目录中的页面之后,SSL指示挂锁符号才出现。 我担心这可能意味着我input的密码以某种方式在SSL连接形成之前发送,因此以纯文本而不是SSL编码传递。 这是一个有效的关注吗? 谢谢。

如何阻止重复请求? 我应该使用Apache2configuration还是使用.htaccess?

我想阻止相同的重复请求到我的网站。 例如,有人点击了“刷新”button3次,所以我希望跟随该用户的相同请求被自动阻止。 我知道我可以用PHP或任何服务器端编程语言来做到这一点,但是有没有独立于网站的“便携式”解决scheme,如Apache2configuration或iptables规则? 还有其他方法可以保护这种基本的保护吗?

在子目录中configurationHTACCESS

我的主目录中有一个htaccess文件,它将所有顶级目录redirect到一个PHP文件。 – > /Loch会去/profile.php?username=Loch 但是我也有一个子目录,让我们称之为test 我需要一个test中的规则,说:“我的目录的任何子path实际上是GETvariables。 例如,链接到/test/hello/hi 实际上应该去/test/receiver.php?dataset=hello&action=hi 但是,当我在/test/目录下的htaccess文件中使用以下规则时,它不会以这种方式工作(我得到一个500错误)。 RewriteBase / RewriteEngine On RewriteRule ^(.*?)/(.*?)/?$ /receiver.php?dataset=$1&action=$2 RewriteRule ^(.*?)/?$ /receiver.php?dataset=$1 我希望我已经提供了足够的信息,请帮助! 谢谢。

用django和apacheconfigurationhtaccess

我正在尝试用djangoconfiguration我的apache服务器。 我遇到的问题与他们的观点匹配的url,我不太清楚问题的原因。 我有以下configuration: 的.htaccess: AddHandler fcgid-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ cyber.fcgi/ [QSA,L] urls.py: from django.conf.urls import patterns, include, url from django.conf import settings from views import index, test from os import path urlpatterns = patterns('', (r'^$', index), (r'^test/$', test), ) 我遇到的问题是,所有不以/cyber.fcgi/开头的URL自动匹配索引视图。 为了testing,我正在打印视图所看到的url: www.example.com/test/ <= matches index with url /test/ www.example.com/test <= […]

redirect不匹配的IP

我有一个WordPress的网站是在一个URL,我想redirect除了几个IP地址的所有stream量即将到来的types页面。 所以如果我有3个IP,这3个IP会看到当前的WordPress站点,所有其他的stream量将被redirect到一个特定的URL 这可能与Apache? 一些可以放在.htaccess文件中的东西?

nginx:用所有参数重写一个不存在的php文件到另一个php文件

我真的需要帮助。 现在坐了一会儿,不知道该怎么办。 我想要实现一个非常简单的任务 – 重写一个不存在的PHP文件到另一个前所未有的PHP文件,所有参数如: this http://example.com/nonexistent.php?url=google.com to -> http://example.com/existent.php?url=google.com 我尝试了这样的事情: rewrite ^/nonexistent.php /existent.php; 哪个不工作(文件未find)。 但redirect一个不存在的HTML文件到这样的PHP文件: rewrite ^/nonexistent.html /existent.php; 作品。 我不想重写一个html文件,但这仍然是一个令人困惑的行为。 因此,它也尝试了这样的(和一些变化): rewrite ^/nonexistent.php?url=^(.*)$ /existent.php?url=$1; 这也是行不通的。 (也许语法不好) 任何帮助吗? 这将是非常好的!

是否有可能将除www外的所有子域redirect到特定的目录?

我想要任何目录* .example.com(bar.example.com,foo.example.com等)直接到文件夹/ home / user / htdocs / subdir / www.example.com和example.com应该不受影响。 这可能与htacecss,或其他路线?

Apache拒绝/允许在vhostconfiguration和.htaccess,这是优先

如果我在Apache vhostconfiguration的<Directory /var/www/html/test-directory/></Directory>块中指定了Deny from xx.xx.xx.xx指令中的Deny from xx.xx.xx.xx 。 然后在同一个目录下的.htaccess文件中指定一个不同于Deny from yy.yy.yy.yy ,它会出现在顶部? 这是我的理解.htaccess应该始终优先,但在具有不同IP地址的拒绝/允许指令的情况下,指令是否会合并? 那么xx.xx.xx.xx和yy.yy.yy.yy都被拒绝? 或者会覆盖另一个? 我稍后会做一些testing,但我只是想知道是否有人知道理论上会发生什么。

将HTTPSredirect到HTTP

问题:我无法让我的网站从httpsredirect到http。 好的,这里提供了一些解决scheme,但没有一个似乎为我工作。 为了build立一些东西,我已经有了.htaccess在这个网站上工作得很好,所以需要设置AllowOverride的方式。 我所看到的最基本的东西是添加如下内容: RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} …到我的.htaccess文件。 然而,这并没有什么好处,就好像病情没有得到满足。 设置后,访问https://mysite.com我没有redirect到http://mysite.com,因为我期望,而只是通过https://mysite.com 。 这是什么原因? 我的期望是,以上在我的.htaccess文件和.htaccess文件在我的网站上正常工作,当我访问任何httpsurl时,我将被redirect到它的http等效。 更多信息 在临时服务器上在我的登台服务器上添加上面的htaccess发送给我一个URL的参数附加到它像http://mystaging-site.com/?ysid=2pnd073423ra966tihf22rfr9a2 在Prod服务器上生产的快速testing结果在一个Apache错误页面,说该页面已被移动,并有500服务器错误。 错误消息的具体内容是: Found The document has moved here. <— this link simply points to the same page I am already on Additionally, a 500 Internal Server Error error was encountered while trying to use an […]