apache htaccess mod_重写以首先检查缓存文件夹,然后运行WordPress index.php

apache htaccess mod_重写以首先检查缓存文件夹,然后运行WordPress index.php,wordpress,apache,.htaccess,mod-rewrite,caching,Wordpress,Apache,.htaccess,Mod Rewrite,Caching,我正在为我自己的WordPress插件设置一个非常简单的缓存。。。我已经在StackOverflow和其他地方研究了几天了。找到了一些非常接近的很好的答案(查找图像文件等),但没有一个适用于此特定场景,修改其他解决方案是行不通的 除了重写规则外,我已经完成了所有工作,可以执行以下操作: http/https的传入请求 domain.com/page-slug/ OR domain.com/year/month/page-slug/ 需要访问首先检查缓存文件夹中的 domain.com/w

我正在为我自己的WordPress插件设置一个非常简单的缓存。。。我已经在StackOverflow和其他地方研究了几天了。找到了一些非常接近的很好的答案(查找图像文件等),但没有一个适用于此特定场景,修改其他解决方案是行不通的

除了重写规则外,我已经完成了所有工作,可以执行以下操作:

http/https的传入请求

domain.com/page-slug/   OR  domain.com/year/month/page-slug/
需要访问首先检查缓存文件夹中的

domain.com/wp-content/cache/myfolder/page-slug.html
(请注意,传入的请求可以是“/page slug/”或“/page slug”,缓存文件名的扩展名为“.html”,使其成为“page slug.html”)

如果缓存文件不存在,则只需

...go through the usual WordPress index.php process
另外--如果url中没有slug/页面名称怎么办

ie:主页。。。可以直接访问吗

domain.com  to  domain.com/wp-content/cache/myfolder/index.html
如果缓存的index.html不存在,请转到WP index.php

是否有一种方法可以完全使用.htaccess规则进行上述缓存检查?任何指导都将不胜感激

(我希望我上面的解释很清楚——我自己也弄糊涂了!哈哈)

更新:

我在anubhava的文章中找到了一个很好的答案,并尝试对其进行如下修改,我认为这很接近,但不太有效:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Admin area 
RewriteRule ^admin(.*) admin$1 [L] 

# Check if file *.* exist in the cache foldel 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/cache/ebg/$1 -f [NC] 
RewriteRule ^(.+?)/?$ /cache/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.php$-[L]
#行政区
重写规则^admin(.*)admin$1[L]
#检查缓存文件夹中是否存在文件**
重写cond%{REQUEST_FILENAME}-F
RewriteCond%{DOCUMENT_ROOT}/cache/ebg/$1-f[NC]
重写规则^(+?)/?$/cache/$1[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]

如果上述解决方案不起作用,请与您的web主机提供商联系。很可能您的webhost软件包上没有激活Mod_Rewrite。

Mod_Rewrite被激活——它可以与WordPress一起工作,但是上面的代码没有查看slug+.html的缓存——我只是不知道如何让它这样做——如果文件不在那里,请返回默认的WordPress重写规则。