中山php|最优网络中山做网站 中山php建站

最优良人

Posts Tagged With: htaccess

htaccess实现域名绑定,拒绝其他域名访问

2012/09/17 at 17:12 » Comments (459)

独立ip的主机,只要其他域名指向该ip都是可以访问的,多域名访问会产生大量重复内容,对seo非常不利,我们可以利用htaccess实现域名绑定,拒绝其他域名访问 在站点根目录建立.htaccess文件,写入如下内容: RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} !www.zui88.com [NC] RewriteCond %{HTTP_HOST} !zui88.com [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^.* – [F,L] 这样实现的结果是只能通过www.zui88.com,zui88.com来访问站点,用其他的HOST访问都会显示403Forbidden。 其中:{HTTP_HOST}代表HTTP协议GET动作同时传递的Host的值,[NC]代表忽略大小写;[F]代表动作为禁止;[L]代表最终匹配。 more »

二级目录下,htaccess做301重定向,把ip地址转向域名

2011/08/26 at 15:14 » Comments (221)

因为网站是放在独立IP的主机上,百度和谷歌直接通过ip地址收录了网站许多页面,包括二级目录下的页面,因为子目录下也存在htaccess文件,有自己的规则,所以根目录的301跳转规则对子目录无效,需要在子目录下再做301重定向。 发现子目录与根目录不同的地方是访问地址后面有没有加斜杠所请求的地址有一点点不同,下面是规则: RewriteBase /news RewriteCond %{HTTP_HOST} ^zui88.com [NC] RewriteRule com(.*)$ http://www.zui88.com$1 [L,R=301] #不加斜杠请求的地址是/wwwroot/zui88.com/news/ RewriteCond %{HTTP_HOST} ^zui88.com [NC] RewriteRule (.*)$ http://www.zui88.com/news/$1 [L,R=301] RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC] RewriteRule com(.*)$ http://www.zui88.com$1 [L,R=301] RewriteCond %{HTTP_HOST} ^124.173.133.154 [NC] RewriteRule (.*)$ http://www.zui88.com/news/$1 [L,R=301] more »

.htaccess排除真实目录和文件规则

2011/08/25 at 12:21 » Comments (24)

.htaccess排除真实目录和文件规则 RewriteEngine on RewriteBase /html RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] #RewriteRule ^.*/(sysadm/.+)$ $1/index.php [L] more »

htaccess在根目录和子目录下的执行顺序

2011/08/23 at 14:13 » Comments (81)

如果在根目录和子目录下都存在htaccess文件,默认根目录下htaccess的规则是不会被继承的,如果这些配置需要影响到子目录,需要手动写上"RewriteOptions inherit"才能继承父配置,参考上一篇 htaccess的用法 。 所以如果子目录也要用到根目录的配置规则,最好是重新定义,因为如果单纯的继承的话,根目录htaccess里面的某些规则的路径可能已经不适用子目录。 more »

htaccess,apache下分布式配置文件的配置选项和flag标签

2011/08/23 at 14:06 » Comments (100)

以下指命令的作用域都是.htaccess RewriteEngine On|Off RewriteEngine 可用On 或者 Off 打开或关闭rewrite功能。 rewrite configurations 不会继承,所以你得给每个你想用 rewrite功能的virtual host加上这个指令。 RewriteBase URL-path RewriteBase指令显式地设置了目录级重写的基准URL。在下文中,你可以看见RewriteRule可以用于目录级的配置文件中 (.htaccess)并在局部范围内起作用,即规则实际处理的只是剥离了本地路径前缀的一部分。处理结束后,这个路径会被自动地附着回去。默认值是"RewriteBase physical-directory-path"。 在对一个新的URL进行替换时,此模块必须把这个URL重新注入到服务器处理中。为此,它必须知道其对应的URL前缀或者说URL基准。通常,此前缀就是对应的文件路径。但是,大多数网站URL不是直接对应于其物理文件路径的,因而一般不能做这样的假定! 所以在这种情况下,就必须用RewriteBase指令来指定正确的URL前缀。 如果你的网站服务器URL不是与物理文件路径直接对应的,而又需要使用RewriteBase指令,则必须在每个对应的.htaccess文件中指定RewriteRule 。 RewriteCond TestString CondPattern RewriteCond指令定义了一个规则的条件,即在一个RewriteRule指令之前有一个或多个RewriteCond指令。条件之后的重写规则仅在当前URI与pattern匹配并且符合这些条件的时候才会起作用。 Notice:All of these tests can also be prefixed by an exclamation mark ('!') to ...more »