标签归档:url_rewrite

如何用apache的url_rewrite实现强制https访问

apache的url_rewrite是个神器,有时候一些难以解决的问题,用他就迎刃而解了。
现在的需求是一个服务器的某个文件或者某个目录里的文件,要强制https访问。
用如下的代码

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

如果有别的需求,可以加载rewritecond里。

怎么用url_rewrite添加www

有时候baidu,google收录的链接域名不一致,有些带www,有些又不带。
这时候用apache的url_rewrite做一下301转向处理,会比较好。代码如下

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.juyimeng\.com$ [NC]
RewriteRule .? http://www.juyimeng.com%{REQUEST_URI} [R=301,L]

让二级域名也起效

RewriteEngine on
RewriteCond %{HTTP_HOST} ^([a-z.]+\.)?juyimeng\.com$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .? http://www.%1juyimeng.com%{REQUEST_URI} [R=301,L]

只把juyimeng.com的链接转向

RewriteEngine on
RewriteCond %{HTTP_HOST} ^juyimeng\.com$ [NC]
RewriteRule .? http://www.juyimeng.com%{REQUEST_URI} [R=301,L]

更多关于apache url_rewrite的文章,请参考本站其他相关文章

随机变化的.jpg图片

实现的原理很简单,就是apache的url_rewrite功能+php程序
url_rewrite代码

[[email protected] htdocs]$ cat .htaccess 
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^images/logo\.jpg$ /test/randomimg.php [L]
</IfModule>

php代码

<?php
/*
* Created on 2007-3-20
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
header("Content-Type: image/jpeg");
$dir    = './images/';
 
$imgarr=array();
if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if (preg_match ("/(.*?)\.jpg$/i", $file) ) {
                array_push($imgarr,$dir.$file);
        }
    }
    closedir($handle);
}
//srand ((float) microtime() * 10000000);
readfile($imgarr&#91;array_rand ($imgarr)&#93;);
?> 

只要把把要显示的图片放到
$dir目录里就可以了:)
效果点击这里,或者刷新本页面,看右上角的图片。

apache url_rewrite的一个规则

实现的目的就是:
访问http://www.domin.com/user/*.*时
全部rewrite到对应的http://www.domin.com/*.*
当然包含子目录
譬如对http://www.domin.com/user/news/A01.htm时
会对应到http://www.domin.com/news/A01.htm

Options +FollowSymLinks 
RewriteEngine on
RewriteRule user/(.*)$ $1

放在“/”测试通过