我试图执行HTTPS除了mt4目录。 的public_html /的.htaccess RewriteEngine On RewriteCond %{REQUEST_URI} "/mt4/" # try to skip with the L last flag RewriteRule (.*) $1 [L] RewriteCond %{HTTP_HOST} ^(www\.)(.+) [OR] RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^(www\.)?(.+) RewriteRule ^ https://%2%{REQUEST_URI} [R=301,L] 的public_html / MT4 / htaccess的 RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L] 如果我去example.com/mt4/浏览器说: 此页面不起作用 example.comredirect了太多次。 尝试清除您的Cookie。 ERR_TOO_MANY_REDIRECTS HTTPS正在其他地方工作OK!
我有一些小丑试图订阅一堆邮件系统的电子邮件地址,我想阻止他访问Apache Web服务器。 根据apache日志,他正在访问一个非常一致的主机名… x12356.example.com.br(其中的数字改变)的变化。 问题是,出现在日志中的实际主机名不能解决…但是,一旦我能够获得IP(通过closures主机名parsing),我发现IP在反向IP查找时确实解决了。 我在我的htaccess文件中尝试了以下内容,但是没有被阻止。 RewriteCond %{REMOTE_HOST} ".*\.example\.com\.br" RewriteRule ^.* – [F,L] 我也尝试了一个简单的“拒绝”,但也没有阻止。 Deny from .example.com.br 我的直觉说我错过了一些简单的东西,但我看不见它。 这是完整的.htaccess文件… RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} (.*)\.l\.mydomain\.com [NC] RewriteRule ^$ http://lists.mydomain.com/listinfo/%1 [R=301,L] RewriteCond %{HTTP_REFERER} mailbait [NC] RewriteCond %{REQUEST_URI} !^/mailbait.php$ RewriteRule ^.*$ /mailbait.php [L] SetEnvIfNoCase Request_URI "(testproxy|upload|xmlrpc|wp|blog|wordpress)" spammer=yes RewriteCond %{ENV:spammer} ^yes$ RewriteCond %{REQUEST_URI} !^/tarpit.php$ RewriteRule ^.*$ /tarpit.php […]
我希望有人知道如何使用htaccessredirectwplogin请求到另一个页面,但允许一个或两个IP地址访问login页面(我自己的IP自然)。 我可以限制访问使用htacceess,但是,我宁愿redirect到另一个页面,特别是 – 除了我自己的IP当然谢谢 我目前使用的是: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR] RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^198.54.214.223$ RewriteRule ^(.*)$ – [R=403,L] </IfModule>
我想redirect到HTTPS的URL当请求来自AWS ELB的HTTP我的重写configuration文件rewrite.config如下 当规则是 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^.*$ https://%{HTTP:Host}%{REQUEST_URI} 'GET / HTTP/1.1'redirect到'GET https%3A//backend.myserver.com/ HTTP/1.1'但浏览器不显示它。 如下显示添加[R = 301]条件的redirect RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^.*$ https://%{HTTP:Host}%{REQUEST_URI} [R=301] 那么'GET / HTTP/1.1'redirect到'GET /https%3A//backend.myserver.com/ HTTP/1.1' 但写入无限的请求日志如下 172.31.23.158 – – [22/Aug/2017:11:06:13 +0000] 'GET /https%3A//backend.myserver.com/ HTTP/1.1' 301 – 172.31.23.158 – – [22/Aug/2017:11:06:13 +0000] 'GET /https%3A//backend.myserver.com/https%3A//backend.myserver.com/https%253A//backend.myserver.com/ HTTP/1.1' 301 – 172.31.23.158 – – [22/Aug/2017:11:06:14 +0000] […]
目前我有一些zip文件存储在我的PHP / Apache Web服务器的http根。 目前我可以使用这个访问文件: http://example.com/filename.zip 但是,我想“保护”这个文件的访问权限,而且他们只能使用类似这样的方式进行访问: http://example.com/key/filename.zip 有人可以帮我创build一个重写规则来做到这一点? 关键是一个固定的string。 它将在.htaccess规则中进行硬编码。 当用户访问以下URL时: http://example.com/key/filename.zip 他应该能够下载zip文件。 当用户访问以下URL时: http://example.com/filename.zip 他不应该能够下载zip文件。 他应该收到一个http错误。 我的代码到目前为止: RewriteEngine on RewriteRule ^key/(\w+).zip $1.zip
我试图redirect一个文件从http到https使用.htaccess但它不工作。 奇怪的是,如果我添加/在它的工作原理的结尾。 我究竟做错了什么? RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^offers\.html/?$ https://%{HTTP_HOST}/offers.html [R=301,L] 谢谢
我在自己的域名上创build了一个networking表单,在我的公司之外。 该表格是为公司的员工制作的。 当员工想要到表格时,他必须login公司网站并点击链接。 以这种方式,员工不需要表格的特殊login,但他可以使用标准的公司login。 在webform服务器的.htaccess中,我检查HTTP_REFER。 当引用是正确的访问被授予,并设置cookie。 当员工再次访问表单时,他可以直接进入,因为他有一个cookie。 <If "%{HTTP_REFERER} == 'https://sites.google.com/a/company/form'"> Header append Set-Cookie "verified_user=yes;path=/;Secure;HttpOnly;Expires=Wed, Jan 01 2020 2:02:02 GMT" </If> <Elseif "%{HTTP_COOKIE} != 'verified_user=yes'"> Redirect https://sites.google.com/a/company/form </Elseif> 这有多安全?
我有一个项目设置,我有多个子域名,用于不同的目的,如login.example.com , signup.example.com和blog.example.com 。 我只有configuration的域,但没有创build任何子域。 所有子域都应该从根文件夹中的相应文件夹加载,例如example.com正在从根文件夹文件运行,并且还有3个文件夹用于login , signup和blog 。 我已经在.htaccess文件中写入此代码来从文件夹加载子域 RewriteEngine on RewriteCond %{HTTP_HOST} ^login.example.com RewriteRule ^(.*)$ http://example.com/login/$1 [L,NC,QSA] 但它不工作,给我一个500错误。 我该怎么做?
我使用通配符SSL获得了一个网站example.com 。 所以每当我尝试abc.example.com子域abc.example.com时,都会将其redirect到example.com 。 我怎样才能停止redirect? 我看到在.htaccess文件中添加一个条件可以解决这个问题,但是我发现所有的答案都有不同的条件,如果我改变了错误的条件,将会弄乱整个网站。 这是来自子域的.htaccess文件: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule .* – [E=CANONICAL:http://abc.example.com%{REQUEST_URI},NE] RewriteCond %{HTTPS} =on RewriteRule .* – [E=CANONICAL:https://abc.example.com%{REQUEST_URI},NE] </IfModule> 那么我应该添加什么条件来阻止redirect呢? 这两个网站都使用WordPress,如果有帮助,我发现这个代码# BEGIN W3TC CDN 。
我需要将一个旧的PHP站点从Windows IIS移动到Linux Apache服务器。 有一些redirect规则,我必须转换。 其中一部分我已经pipe理,但对于其他一些规则我缺乏理解,使他们的工作。 有原始的web.config规则: <rule name="Rule1" enabled="true" stopProcessing="true"> <match url="^switch\.php$" /> <conditions> <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> <add input="{QUERY_STRING}" pattern="^lang=([^=&]+)$" /> </conditions> <action type="Redirect" url="switch/{C:1}" appendQueryString="false" /> </rule> <rule name="Rule2" enabled="true" stopProcessing="true"> <match url="^switch/([^/]+)/?$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="switch.php?lang={R:1}" /> </rule> <rule […]