Articles of .htaccess

设置过期通过查询string检索的东西的头

我已经安装了MediaWiki,并且已经使用Google的PageSpeed工具作为指导优化了各个方面,到目前为止我已经能够做出很多改进。 有一件事我不能做的是使用我的.htaccess文件为以下资源设置一个Expires头文件: http://example.com/mywiki/load.php?debug=false&lang=en-gb&modules=startup&only=scripts&skin=vector&* 它没有像.css或.js这样的正常文件扩展名。 我可以在我的.htaccess文件中为这些文件设置过期头文件吗?

htaccess – redirect非https并为每个子域设置不同的默认页面

我的域名有一个通配符ssl。 我有许多子域,每个都有自己的默认页面。 www.domain.com/main.html [/home/domain/main.html] try.domain.com/free.php [/home/domain/try/free.php] new.domain.com/signup.php [/home/domain/new/signup.php] 等等 我想写.htaccess这样的: 所有stream量都被定向到https 子域名parsing为相应的默认页面 除了保留subdomain.domain.com的子域外,所有非www都被定向到www 我想要在单个htaccess /home/domain/.htacces中完成所有这些操作,而不是在每个文件夹中都有htaccess文件。

如何使用htaccess阻止RSS Feed的访问

我的网站遇到RSS Feed问题 我得到这个htaccess的代码 Order deny,allow Deny from all Allow from xx.xx.xx.xx 但它阻止了所有IP地址,我只需要从所有IP地址阻止mywebsite.com/feed.php 亲切的问候

除非指向index.php,否则无法获取应用程序以使用htaccess

我有困难让我的应用程序之一,使用其path内的htaccess文件,除非我直接指向index.php浏览器 我已经在我的电脑上安装了ubuntu: Distributor ID: Ubuntu Description: Ubuntu 15.10 Release: 15.10 Codename: wily 我在我的电脑上安装了apache: Server version: Apache/2.4.12 (Ubuntu) Server built: Jul 24 2015 15:59:11 我已经尝试将下面的代码添加到我的/etc/apache2/apache2.conf <Directory /var/www/html/pss/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 我也试过这样的: <Directory /var/www/html/pss/html> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 如您所见,此代码指向位置/var/www/html/pss 。 在我的pss folder有一个html文件夹。 在这个html文件夹里面我有一个.htaccess和index.php文件。 如果我指向我的浏览器http:// localhost / […]

将redirect与.htaccess分离

我将我的服务器迁移到其他位置。 我有一堆更改的URL(50左右),我需要301redirect到新的位置。 我使用Apache 2.4 有没有办法将它们从.htaccess分离到不同的文件(S)只是为了组织?

如何防止xmlrpc.php上的DOS攻击

我们最近在我们的主网站上发生DOS攻击时遇到了麻烦,它使用Apache httpd 2.2.9和Drupal 6.35运行。 这个攻击是Dupal的xmlrpc.php的一个post,这个漏洞已经在最近的Drupal版本中被修补了。 因为这是一个较老的版本,所以利用漏洞的修复不在我们的Drupal安装中,也不会因为我们在三个月内迁移到托pipe平台。 我最初尝试通过重命名xmlrpc.php来抵消DOS,它返回一个404,但是这仍然足以为每个post创build一个apache线程。结果是多个线程结合消耗了大量的内存,所以仍然有一个问题。 所以,基于更多的Googlesearch,我刚刚修改了以下的.htaccess: <Files "xmlrpc.php"> Order Allow,Deny deny from all </Files> 从这里开始,大概不会再为每个调用创build一个httpd线程。 这是否足够,你觉得呢? 我可以更进一步,通过启用VPC跟踪stream量的function,find并阻止IP地址,但我不知道这是否有效,因为这些攻击可能来自一堆被劫持的系统。 虽然我很好奇, 有什么想法吗?

如果你有大量的redirect来实现,是否有一种方式来编写更清晰的重写规则

我recentley完成了一个项目,我把一个漂亮的大网站移动到一个漂亮干净的小型网站。 这意味着我必须对大量被search引擎编入索引的页面进行说明,并使用301 Redirects将它们适当地redirect到新网站上的相关页面。 有超过300个唯一的url,我必须redirect。 我使用apache mod_rewrite模块来实现redirect,因为大部分的URL都包含你的标准Redirect语句不能读取的GET parameters 。 所以例如我有这样的url: HTTPS://olddomain/product.html PROD_ID = 143&ID = 234 和一个像这样的redirect: RewriteCond %{QUERY_STRING} prod_id=143&id=234$ RewriteRule ^product\.html$ /products/product-a? [L,R=301] 几乎所有的情况都是如此。 我想我的问题是,我正确地写下了300个像上面的个人redirect,还是有一个“更干净”的方式来做到这一点? 我听说有许多rewrite rules可以减慢服务器速度。 我会很感激你对这个家伙的意见,如果这不是正确的地方问道歉,我会删除并张贴在相关的交stream。

添加www到域,但不是为特定的域

我的.htaccess文件中有以下代码: RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 上面的代码是为了将www添加到域,如果它没有www 。 但是我有一个域名: myloadbalancername-432566808.us-west-1.elb.amazonaws.com (来自AWS Elastic Load Balancer的DNS),并且该域名不能与www 。 那么,如何为所有的域请求添加www ,除了特定的域呢? RewriteCond %{REQUEST_URI} !myloadbalancername RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 我试着用上面的代码来检查域名是否有这个单词,然后检查域名是否没有www ,但没有成功。 我是.htaccess初学者,所以我不知道我做错了什么。

Nginx规则转换

我有这些htaccess规则: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes… RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 我使用了一个在线转换器,这是它给了我,但是,它不起作用,所以我不知道它有什么问题。 location / { rewrite ^/(.*)/$ /$1 redirect; if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; } } 提前致谢

如何从请求url中删除www部分,并redirect到它

我有主机与多个域指出。 我需要从请求的URL中删除“www”部分并redirect到它。 Ex: 1. www.abc.com rediect to abc.com 2. www.xyz.com redirect to xyz.com 我需要这个dynamic的。 我使用下面的URL重写来做到这一点,但它不工作。 RewriteCond %{HTTP_HOST} ^www\.%{REQUEST_URI}\.com$ RewriteRule ^/?$ "https\:\/\/%{REQUEST_URI}\.com\/" [R=301,L] 任何帮助真的很感激。