(我知道不build议通过默默无闻的安全)。 我试图隐藏我使用WordPress的事实。 这篇文章是有帮助的,但它只处理内容(sorting)。 我有兴趣发生以下情况: 用户试图通过浏览器以wp*作为子string访问任何url。 结果:redirect到404页面。 博客用户/pipe理员知道为了login他们应该去http://example.com/blogin/ 。 结果: apache将它们redirect到http://example.com/wp-admin/ 。 如果用户试图从他们的浏览器直接访问wp-admin ,他们会被发送到#1。 结果:redirect到404页面。 我迄今为止所做的事情 我注意到一个WordPress的默认安装,我可以访问WP安装的(相对)根目录中的任何wp*文件。 具体来说wp-settings.php是有问题的,因为它提供了关于我的设置的信息。 如果用户访问它,它会发出一些PHP错误,并显示部分目录结构。 我编辑我的php.ini文件closuresdisplay_errors 。 现在访问http://example.com/wp-settngs.php会popup一个空白页面。 这本身并不理想,因为它揭示了wp-settings.php存在。 事实上,访问所有不同的wp*文件是可能的(具有不同的结果)。 然后我把我的htaccess文件中的以下内容: RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* – [F] 这很好! 任何与一个wp*被路由到我的自定义404页面。 但是现在我无法访问我的pipe理页面。 我试图插入这一行到上面的代码: RewriteRule ^blogin wp-admin [NC,R,L] 。 它应该是正确的后RewriteBase但这不起作用。 我试图做一个: <Directory /home/example/wp*> Order Allow, Deny Allow from example.com […]
我曾经使用SSL证书操作网站,但是已经停止使用SSL证书。 问题是,网站的大部分外部链接都使用https://前缀。 我已经在.htaccess文件中尝试了https://到http://redirect: RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} 但是正如其他地方已经指出的那样,服务器在激活redirect之前试图获取证书。 因此,在redirect完成之前显示错误。 错误是警告证书已过期,或者如果我删除了证书签名请求,那么SSL收到的logging超过了允许的最大长度的错误。 有什么办法可以让传入的链接redirect吗?
我正在尝试将Expires标头添加到正在处理的网站的HTTP响应中。 我控制Apache 1.3服务器的唯一方法是编辑我的.htaccess文件。 我试着添加如下的代码来启用Expires头文件: <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 hour" </IfModule> 但是,这会导致内部服务器错误,并在日志中显示以下错误消息: ExpiresActive不允许在这里 我可能不能使用caching控制的替代方法,因为mod_headers没有启用。 有没有什么办法,我仍然可以通过在.htaccess文件中的一些命令使用mod_expires启用过期头文件? 更新 我记得在某处读到httpd.conf中的Override设置可能与它有关。 有什么办法来validation这确实是问题吗? 如果是的话,是否有一些解决方法来控制我的网站的caching头?
是否有可能将用户redirect到file too big页面 当POST请求大小超过指定的限制? 我知道max-request-size选项,但是它只给出了不能被重载的静态页面。 我想创build一个重写规则 内容大小从请求主体作为input并redirect到错误页面 UPDATE 现在我们使用nginx作为前端。 有什么新build议?
我有一个简单的.htaccess文件,该文件在网站的http版本上效果很好,但是当我转到https时却不行。 为什么? RewriteEngine on #This is so if the file exists then use the file RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ %{REQUEST_FILENAME} [L] #These conditions check if a file or folder exists just for reference #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #if someone adds ".php" to the slug get rid of it RewriteRule ^(.*)\.php$ $1 #don't […]
我的urlscheme是/foo/var1-var2-var3…/bar 我正在使用这些mod_rewrite规则: RewriteBase /foo/ RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [PT,L] 如果string“var1-var2 …”的长度大于257个字符,则返回错误403 Forbidden和404。 但是,如果“var1-var2 …”string的长度为257个字符或更less,并且后面跟着一个斜杠,则剩余url的长度可以是任意长度。 如何克服这个限制?
我有一个网站发送“caching控制”和“杂注”HTTP头的PHP请求。 我没有在代码中这样做,所以我假设它是某种Apacheconfiguration,就像这个问题所build议的那样(你并不需要去这个问题的上下文) 我的.htaccess文件中没有任何东西,所以它必须在Apache的configuration本身,但我不能访问,这是一个共享主机,我只有FTP访问我的网站的目录。 有没有什么办法,我可以添加指令到我的 .htaccess文件,将删除由全局configuration添加的头,否则重写该指令,以便他们不首先添加? 非常感谢你 丹尼尔
我在我的Apache服务器上通过mod_expires实现了Expires头文件,并且已经成功地为大多数文件types创build了expires头文件,但是我对favicon有问题。 我最初尝试为.ico文件添加一组说明,但是通过YSlow检查时没有过期设置。 当这不起作用,我修改它是一个GIF,但是这似乎有同样的问题。 网站上的其他gif已经正确设置了expires头文件(至less符合YSlow)。 任何人都可以解释这种情况吗?
我试图redirect所有的url到HTTPS的Web应用程序。 我有一个弹性负载平衡器后面的EC2实例。 SSL在负载均衡器上终止。 任何redirect的尝试最终会给我熟悉的“这个页面以永不完整的方式请求”。 负载均衡器将443和80转发到实例上的端口80。 这是我在我的.htaccess中。 RewriteCond %{X-FORWARDED-PROTO} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 有没有人有任何想法如何做到这一点? 非常感谢,
我知道IIS7允许我使用web.config xml文件进行每个目录的configuration。 我有一个目录,一些configuration文件不想被networking访问。 本地web.config文件禁止读取访问将是一个很好的解决scheme。 什么应该是一个web.config文件的内容禁止networking访问的文件? 编辑:我试图把一个web.config文件与这些内容在一个文件中: <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <authorization> <deny users="*" /> <!– Denies all users –> </authorization> </system.web> </configuration> 但是我仍然可以直接访问目录中的文件。 它出什么问题了? 我如何debugging发生了什么?