我需要禁用suhosin作为我的moodle目录,将一个.htaccess文件禁用它仅用于该目录或将禁用整个网站?
这里是我的.htaccess为WordPress的博客网站,使用它来redirectwww到非www <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://example.com%{REQUEST_URI} [R=301,L] RewriteBase /blog/ RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /([^/]+/)*index\.(html|php)\ HTTP/ RewriteRule ^(([^/]+/)*)index\.(html|php)$ http://example.com/blog/$1 [R=301,L] RewriteCond %{REQUEST_URI} /+[^\.]+$ RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] 但是当我尝试打开www.example.com/blog/时,会出现500个内部错误。 在日志中提到:由于可能的configuration错误,请求超过了10个内部redirect的限制。 如果需要,使用“LimitInternalRecursion”来增加限制。 使用“LogLeveldebugging”来获得回溯。 任何build议,我的.htaccess有什么问题 错误日志: [Tue Sep 13 08:49:52 2016] […]
我希望在.htaccess设置响应头,但只有在通过HTTPS加载站点时: Header set MyHeader "%D %t" "%{HTTPS:on}" # Error: Unknown parameter: %{HTTPS:on} Header set MyHeader "%D %t" "expr=%{HTTPS:on}" # Error: syntax error, unexpected $end: Function 'HTTPS' does not exist Header set MyHeader "%D %t" "expr=%{HTTPS}==on" # Error: syntax error, unexpected $end, expecting '(' HTTPS 在这里被列为一个variables PS:我很难理解Apacheexpression式是如何工作的,所以如果有人遇到一个简单的例子,请分享一下。
<IfModule mod_expires.c> ExpiresActive On ExpiresByType application/javascript "access 1 week" ExpiresByType text/css "access 1 week" </IfModule> 我使用了很多这些在我的.htaccess文件来设置caching,放气,接受编docker和东西。 我注意到,如果我删除打开和closures标签,一切都继续工作。 这些做什么,只要一切似乎正常工作,删除它们是安全的?
我inheritance了一个网站(一个vbulletin论坛),并从另一个主机迁移到我的,通过复制一切与scp命令。 根目录具有以下.htaccess RewriteOptions inherit RewriteEngine on RewriteCond %{HTTP_HOST} ^.*$ RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content\/" [R=301,L] 我不知道这应该如何工作,但它的工作,无论/forums/content/文件夹不存在的事实。 但是,一旦搬到我的主机,它停止工作,产生404错误。 由于/forums/content.php文件存在,我编辑了.htaccess像这样: RewriteOptions inherit RewriteEngine on RewriteCond %{HTTP_HOST} ^.*$ RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L] 现在,它的工作,一个小故障:我的浏览器(和其他论坛用户浏览器)caching以前的301redirect,所以我可以达到和使用论坛,只有当我清除浏览器caching(一次),或者如果我inputcontent.php手动(每次)。 我已经尝试了解决方法,通过添加一个RewriteRule到.htaccess来从/forums/content/redirect到/forums/content.php : RewriteOptions inherit RewriteEngine on RewriteCond %{HTTP_HOST} ^.*$ RewriteRule ^/forums/content/$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L] RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L] 但是,似乎这个规则被忽略了,因为浏览器仍然在/forums/content/目录上得到一个404错误,并且不会redirect到content.php 。 我究竟做错了什么?
我正在使用类似于下面的.htaccess规则: # BEGIN Disable access to all files EXCEPT Order deny,allow Deny from all # Files <Files ~ ".(doc|xlsx|xlsm|xls|pdf|docx|txt|rtf|rdf|odf)$"> Allow from all </Files> # Page Content <Files ~ ".(css|js)$"> Allow from all </Files> # Images <Files ~ ".(jpe?g|png|gif|bmp|cur|ico|webp)$"> Allow from all </Files> # Fonts <Files ~ ".(svgz?|eot|otf|tt[cf]|woff2?)$"> Allow from all </Files> 但是,我也想允许一个特定的.php文件,我不希望将.htaccess规则放在特定的.php文件所在的文件夹中,所以我一直试图用FilesMatch 这里有些例子: <FilesMatch "\/folder1\/folder2\/folder3\/folder4\/\.(php)"> […]
我有一个与Apache的Centos 7,我想编译PHP 7.0和5.6,并configuration为PHP-FPM。 我如何configurationApache以允许用户使用.htaccess更改php版本? 示例.htaccess条目: AddHandler应用程序/ x-httpd-php7 .php
当URL是以下任何一个时,从HTTP到HTTPS的redirect都正确发生: http://example.com >> https://example.com [确定] http://www.example.com >> https://example.com [确定] http://www.example.com/login >> https://example.com/login [确定] 但是,如果URL如下所示,redirect到HTTPS将失败 : http://example.com/login >>错误(请参见截图) 请告知如何解决。 代码和configuration如下。 先谢谢你… 其他详情: Ubuntu 16.04 Apache 2.4 mod_rewrite已启用 Laravel 5.3 清除浏览器caching .htaccess文件 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Allow Blog in Sub-Directory RewriteCond $1 !^(blog) #Redirect to non-WWW RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule ^(.*) […]
我有一个接受来自第三方的HTTP POST的服务器,然后返回一个200或500。 第三方不受我控制,有时会发送非常大的POST,例如40MB。 这些POST导致我的PHP代码耗尽内存,我无法赶上,所以Apache发送500。 API重试该POST永远,并不会发送新的数据,所以这是一个问题。 我已经尝试了各种各样的东西,但是最终以为如果我可以让.htaccess返回一个200,并且什么都不做,如果content_length> X,那么这至less会让我花时间去重构它的工作原理。 所以… 是否有可能在.htaccess中编写规则,如果content_length> X,则返回200?
我对服务器configuration不太熟悉,请帮我解决这个问题: 我有一个Debian8服务器和一个SSL证书,SSL证书只适用于我的非www域,所以我想redirect所有www请求到非www,通过下面的htaccess代码其工作的一些浏览器,但没有为其他一些工作 在Chrome浏览器上:成功将http://www.example.com或http://example.com请求redirect到https://example.com这就是我想要的所有浏览器。 在Mozilla上:将http://www.example.com请求redirect到https://www.example.com并停止使用INSECURE CONNECTION错误。 我想从这里浏览器首先检查www的SSL证书,并停止在非wwwredirect之前。 以下是我的.htaccessredirectwww到https与非www,是什么我错过了.htaccess ? 或任何其他解决scheme通过DNS或借助Apache默认ssl.conf 。 RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 我的SSL证书是Certbot ,我按照这个教程来安装https://www.youtube.com/watch?v=-TPoGQ4IjDI&t=100s你可以看到只有一个域名是non-www,没有设置SSL的选项www的证书。 如果我能得到www的SSL证书,那么我也可以解决这个问题。