-1

多くの組み合わせを試しましたが、どれも機能しません。私は書き換えルールを書き込もうとしています:

  1. URL をhttp://example.com/project/big_bunnyと仮定します。
  2. ユーザーがサイトの書き換えにアクセスすると、最初にファイル /cache/project/big_bunny.html の読み取りを試みますが、データの取得または投稿がない場合のみ
  3. キャッシュ書き換え処理がない場合 標準ルータールール:index.php?_rt=$1 [L,QSA]

助言がありますか?

4

2 に答える 2

0

これを試して:

# Check the cache, and rewrite if file exists
RewriteCond %{THE_REQUEST} !^POST [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{DOCUMENT_ROOT}/cache%{REQUEST_URI}.html -f
RewriteRule ^ /cache%{REQUEST_URI}.html [L]

# If URI doesn't start with /cache/, it wasn't cached so rewrite to index.php
RewriteCond %{REQUEST_URI} !^/cache/
RewriteRule ^(.*)$ index.php?_rt=$1 [L,QSA]
于 2012-07-04T06:20:14.257 に答える
0

これを試して:

# Check if using POST method
RewriteCond %{THE_REQUEST} !^POST
# Check if already rewrote to cache
RewriteCond %{REQUEST_URI} !^/cache
# Check if cache exists
RewriteCond /cache%{REQUEST_URI}.html -f
# Check if contains any GET query string
RewriteCond %{QUERY_STRING} !.+
# Do the rewrite
RewriteRule ^/(.*) /cache/$1.html [L]

# Check if already rewrote to cache
RewriteCond %{REQUEST_URI} !^/cache
RewriteRule ^/(.*) index.php?_rt=$1 [L,QSA]
于 2012-07-04T06:31:49.093 に答える