我通过.htaccess , htpassword阻止我的网站。 我从朋友那里听说,这真是一个笑话,可以在一分钟内绕过。 真的吗? 有什么其他方法可以阻止用户/机器人访问我的网站?
情况: 当从example.com域访问一个文件夹(“hidden”)时,我想返回一个404页面(“404.php”)。 我希望可以从一个子域(“hidden.example.com”)或从一个不同的域(“hidden.com”)访问同一个文件夹,这两个域都在单个VirtualHost条目中configuration。 服务器有多个监听的IP地址。 每个IP地址提供与example.com域相同的内容(共享一个VirtualHost条目)。我希望可以从IP地址访问该文件夹。 服务器configuration为使用SSL / TLS / HTTPS。 HTTPS在example.com上是可选的,但HTTPS在隐藏文件夹的.htaccess文件中执行,使用下面显示的重写规则。 /www/hidden/.htaccess RewriteCond %{HTTPS} !=on RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 我知道{SERVER_ADDR}给出服务器的IP地址,但它是否返回客户端请求的IP地址? 我也开始认为在VirtualHosts文件中的东西会更合适。 对此有何想法? 应该允许什么: http://87.65.43.21/hidden/ https://87.65.43.21/hidden/ http://12.34.56.78/hidden/ https://12.34.56.78/hidden/ http://hidden.example.com/ https://hidden.example.com/ http://hidden.com/ https://hidden.com/ http://www.hidden.com/ https://www.hidden.com/ 404.php应该是404-ed http://example.com/hidden/ https://example.com/hidden/ http://www.example.com/hidden/ https://www.example.com/hidden/ http://example.com/hidden/hiddenfile.php https://example.com/hidden/hiddenfile.php etc. 谢谢。
我有一个例如网站 www.domain.com 我还有另一个子域名 test.domain.com 我的主要和子域指向相同的目录,这是public_html 。 我想阻止访问 test.domain.com/test.jpg 但不是 domain.com/test.jpg 请注意,这个test.jpg是主文件和子文件的同一文件,因为它们都指向相同的目录。 那么我怎样才能阻止它的子域名,而不是主域名使用.htaccess? 或者还有其他的方式吗? 谢谢
目前在apache2.conf我有AllowOverride all设置/var/www ,它只是允许服务器上的所有网站(这是Ubuntu,9.04)的htaccess。 但是,我宁愿只允许覆盖每个网站的根目录,没有别的。 换句话说, /var/www/site1 , /var/www/site2等可以有一个htaccess,但是所有其他目录包括/var/www和/var/www/site1/content都不能。 有没有办法做到这一点,而不必写服务器上的每个网站的规则? 编辑:也许我的问题不够清楚。 但是我刚刚尝试了一些没有按预期工作的事情。 我为根目录设置AllowOverride none ,然后为all特定的目录设置如下所示: <Directory ~ "^/var/www/site1$"> AllowOverride all </Directory> 但是,当加载一个像site1.com/section/page这样的URL时,页面不能被find(显示浏览器错误页面,而不是我的404页面)。 注意section/page不是真正的文件系统URL,它是一个重写。 我的理解是: 在之前的configuration中,Apache会在/var/www/site1/section (不存在)中查找htaccess,然后尝试/var/www/site1 ,然后尝试任何父目录。 通过上面的指令,Apache现在只需要查看/var/www/site1而不需要其他目录。 但是,这似乎并没有工作…
我熟悉修改htaccess文件,但我最初的尝试继续失败。 最终,我想指出用户'假想'的子域(那些不存在的),以便可以用PHP和MySQL正确parsing子域来查找特定成员的信息。 这是我的假设,MediaTempleconfiguration为总是检查之前任何访问一个真正的子域名目录,所以.htaccess文件设置永远不会被触及,反过来只会产生错误。 例如: 当前有人访问www.site.com时,会显示父站点,包括如何成为会员的信息。 一旦一个人成为会员,他们的“独特”URl是: www.site.com?MemberID=12345 最终迫使成员记住代理人的问号等于可能会混淆,同时需要记住适当的大写等等。 我会'想'实现以下内容: www.12345.site.com redirect到 www.site.com/index.php?MemberID=12345(index.php读取12345像一个$ _GET函数正确查找iD,有效和retun响应基于此。 我相信我们可以? 在散列之后实现相同的使用信息: 如www.site.com/12345 问题是,我们已经有其他页面使用/ xxxx来修改客户端内容,我也不想阻止任何人访问:www.site.com/contact例如作为一个实时链接。 (站点redirect到索引,尝试查找memberid ='contact',并没有find任何结果)。 我的.htaccess目前是: ErrorDocument 404 /404.php Options + FollowSymlinks RewriteCond%{REQUEST_FILENAME}!-d RewriteCond%{REQUEST_FILENAME} .php -f RewriteRule ^(。 )$ $ 1.php RewriteCond%{HTTP_HOST}!^ www。 RewriteCond%{HTTP_HOST} ^(。+)。site.com RewriteRule。 http://site.com/processing_page.php?ID=%1 [L,R] 我希望基于我的需要,打字www.something.site.com我将被redirect到:www.site.com/processing_page.php?something 相反,它只是redirect到我的mediatemple托pipe页面(本质上说没有名为“东西”存在的子域名。 我在运行CentOS5和LAMP堆栈的Media Temple DV 3.5服务器上运行我们的服务器。
我的网站正在运行IPB 3.1.4,我想预先压缩我的.js文件。 我有ssh根访问,需要命令gzip的js目录和htaccess的代码。 我的htaccess: Options -Indexes <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> <FilesMatch "\.(ico|flv|jpe?g|png|gif|js|css|swf)$"> ExpiresActive On ExpiresDefault "access plus 1 month" </FilesMatch> FileETag none
如果我有2个域, altoonadesign.com和programming-perils.com都指向同一台服务器。 我怎样才能使编程危害的网站根目录的真正网站上的blog文件夹。 并禁止使用.htaccess从altoonadesign.com访问blog文件夹?
我试图设置一个caching控制标题,当一个浏览器请求以下url: www.example.com/php/getData.php?exampleField=exampleValue 即使getData.php是一个dynamic页面,当参数exampleField等于exampleValue ,响应也不会改变。 因此,浏览器没有理由不caching这个结果。 我的问题是如何在.htaccess文件中写入一个FilesMatch规则来匹配这个,我尝试了以下没有运气: <FilesMatch "php/getData.php\?exampleField=(exampleValue1|exampleValue2)$"> Header set Cache-Control "max-age=3024000, must-revalidate" </FilesMatch>
我想将/ naredirect到/na.php 所以我在.htaccess中写下如下。 我不想为/ na创buildwordpress页面。 只是想redirect。 但它不工作,总是显示404错误。 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^na$ [NC] RewriteRule . /index.php [L] RewriteCond %{REQUEST_URI} ^na$ [NC] RewriteRule . /na.php [L] </IfModule> # END WordPress
我试图强制www。 只在生产服务器上。 我不想影响登台服务器的域名。 这是我目前的规则: # Force www RewriteCond %{HTTP_HOST} !^www.mydomain.com$ #production RewriteCond %{HTTP_HOST} !^mydomain.s2.mycompany.com$ #staging RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301] 基本上,如果主机不是www.mydomain和主机不是mydomain.s2 ….那么我想redirect到www.mydomain.com。 用上面的代码,我得到一个redirect循环。 有任何想法吗?