适用zend1/2 支持静态cache. apache,nginx.iis6/7iis7用配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system webserver="">
<rewrite>
<rules>
<rule name="Static Rule 1" stopprocessing="true">
<match url="^/*$" ignorecase="false">
<conditions logicalgrouping="MatchAll">
<add input="{DOCUMENT_ROOT}/cached/index.html" matchtype="IsFile">
</add></conditions>
<action type="Rewrite" url="cached/index.html">
</action></match></rule>
<rule name="Static Rule 2" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<conditions logicalgrouping="MatchAll">
<add input="{DOCUMENT_ROOT}/cached{REQUEST_URI}.html" matchtype="IsFile">
</add></conditions>
<action type="Rewrite" url="cached/{REQUEST_URI}.html">
</action></match></rule>
<rule name="Static Rule 3" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<conditions logicalgrouping="MatchAll">
<add input="{DOCUMENT_ROOT}/cached{REQUEST_URI}.xml" matchtype="IsFile">
</add></conditions>
<action type="Rewrite" url="cached/{REQUEST_URI}.xml">
</action></match></rule>
<rule name="Static Rule 4" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<conditions logicalgrouping="MatchAll">
<add input="{DOCUMENT_ROOT}/cached{REQUEST_URI}.js" matchtype="IsFile">
</add></conditions>
<action type="Rewrite" url="cached/{REQUEST_URI}.js">
</action></match></rule>
<rule name="Static Rule 5" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<conditions logicalgrouping="MatchAll">
<add input="{DOCUMENT_ROOT}/cached{REQUEST_URI}.json" matchtype="IsFile">
</add></conditions>
<action type="Rewrite" url="cached/{REQUEST_URI}.json">
</action></match></rule>
<rule name="Imported Rule 1" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<conditions logicalgrouping="MatchAny">
<add input="{REQUEST_FILENAME}" matchtype="IsFile">
<add input="{REQUEST_FILENAME}" matchtype="IsDirectory">
</add></add></conditions>
<action type="None">
</action></match></rule>
<rule name="Imported Rule 2" stopprocessing="true">
<match url="^.*$" ignorecase="false">
<action type="Rewrite" url="index.php">
</action></match></rule>
</rules>
</rewrite>
</system></configuration>
nginx 脚本,应用到nginx服务器配置中
server{
access_log off;
rewrite_log off;
listen 80;
server_name domain.name;
root /var/www/html/public;
index index.html index.php;
location / {
if (-e $document_root/cached/index.html) {
rewrite ^/*$ /cached/index.html break;
}
if (-e $document_root/cached$request_uri.html) {
rewrite ^.*$ /cached$request_uri.html break;
}
if (-e $document_root/cached$request_uri.xml) {
rewrite ^.*$ /cached$request_uri.xml break;
}
if (-e $document_root/cached$request_uri.json) {
rewrite ^.*$ /cached$request_uri.json break;
}
if (-e $document_root/cached$request_uri.js) {
rewrite ^.*$ /cached$request_uri.js break;
}
if (!-e $request_filename) {
rewrite ^.*$ /index.php;
}
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
IIRF(适用iis6 iirf插件)
RewriteEngine ON
RewriteCond %{APPL_PHYSICAL_PATH}cached/index.html -f
RewriteRule ^/*$ /cached/index.html [L]
RewriteCond %{APPL_PHYSICAL_PATH}cached%{REQUEST_URI}.html -f
RewriteRule ^.*$ /cached%{REQUEST_URI}.html [L]
RewriteCond %{APPL_PHYSICAL_PATH}cached%{REQUEST_URI}.xml -f
RewriteRule ^.*$ /cached%{REQUEST_URI}.xml [L]
RewriteCond %{APPL_PHYSICAL_PATH}cached%{REQUEST_URI}.js -f
RewriteRule ^.*$ /cached%{REQUEST_URI}.js [L]
RewriteCond %{APPL_PHYSICAL_PATH}cached%{REQUEST_URI}.json -f
RewriteRule ^.*$ /cached%{REQUEST_URI}.json [L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,U,L,QSA]
apache用重写配置
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/cached/index\.html -f
RewriteRule ^/*$ cached/index.html [L]
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.html -f
RewriteRule ^.*$ cached/%{REQUEST_URI}.html [L]
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.xml -f
RewriteRule ^.*$ cached/%{REQUEST_URI}.xml [L]
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.js -f
RewriteRule ^.*$ cached/%{REQUEST_URI}.js [L]
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.json -f
RewriteRule ^.*$ cached/%{REQUEST_URI}.json [L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]