apache的url_rewrite是个神器,有时候一些难以解决的问题,用他就迎刃而解了。
现在的需求是一个服务器的某个文件或者某个目录里的文件,要强制https访问。
用如下的代码
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
如果有别的需求,可以加载rewritecond里。
apache的url_rewrite是个神器,有时候一些难以解决的问题,用他就迎刃而解了。
现在的需求是一个服务器的某个文件或者某个目录里的文件,要强制https访问。
用如下的代码
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
如果有别的需求,可以加载rewritecond里。
有时候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的文章,请参考本站其他相关文章
防止GetRight和Curl来抓取网內的数据的代码
RewriteEngine on RewriteBase / RewriteCond %{HTTP_USER_AGENT} ^curl [OR] RewriteCond %{HTTP_USER_AGENT} ^GetRight RewriteRule ^.* - [F]
实现的原理很简单,就是apache的url_rewrite功能+php程序
url_rewrite代码
[test@test 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[array_rand ($imgarr)]); ?>
只要把把要显示的图片放到
$dir目录里就可以了:)
效果点击这里,或者刷新本页面,看右上角的图片。
实现的目的就是:
访问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
放在“/”测试通过