Apache 如果URL包含字符串,htaccess是否禁用缓存?

Apache 如果URL包含字符串,htaccess是否禁用缓存?,apache,.htaccess,caching,mod-expires,Apache,.htaccess,Caching,Mod Expires,如果URL包含“字符串”,我可以向htaccess添加异常吗? 例如: <if URL contains "string"> ExpiresDefault "access plus 1 days" </ifModule> ExpiresDefault“访问加1天” ?? 我的缓存模块: <ifModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 mon

如果URL包含“字符串”,我可以向htaccess添加异常吗? 例如:

<if URL contains "string">
 ExpiresDefault "access plus 1 days"
</ifModule>

ExpiresDefault“访问加1天”
?? 我的缓存模块:

<ifModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType image/vnd.microsoft.icon "access plus 1 months"
ExpiresByType image/x-icon "access plus 1 months"
ExpiresByType image/ico "access plus 1 months"
ExpiresByType application/javascript "now plus 1 months"
ExpiresByType application/x-javascript "now plus 1 months"
ExpiresByType text/javascript "now plus 1 months"
ExpiresByType text/css "now plus 1 months"
ExpiresDefault "access plus 1 days"
</IfModule>

过期于
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
ExpiresByType图像/png“访问加1个月”
ExpiresByType image/vnd.microsoft.icon“访问加1个月”
ExpiresByType图像/x图标“访问加1个月”
过期按类型映像/ico“访问加1个月”
ExpiresByType应用程序/javascript“现在加上1个月”
ExpiresByType应用程序/x-javascript“现在加上1个月”
ExpiresByType文本/javascript“现在加上1个月”
ExpiresByType文本/css“现在加上1个月”
ExpiresDefault“访问加1天”

您可能可以使用
FilesMatch
指令,该指令可能适合您。但它与查询字符串中的“字符串”不匹配

还要确保
FilesMatch
指令位于先前的缓存设置之后

<ifModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 months"
ExpiresByType image/jpg "access plus 1 months"
ExpiresByType image/jpeg "access plus 1 months"
ExpiresByType image/png "access plus 1 months"
ExpiresByType image/vnd.microsoft.icon "access plus 1 months"
ExpiresByType image/x-icon "access plus 1 months"
ExpiresByType image/ico "access plus 1 months"
ExpiresByType application/javascript "now plus 1 months"
ExpiresByType application/x-javascript "now plus 1 months"
ExpiresByType text/javascript "now plus 1 months"
ExpiresByType text/css "now plus 1 months"
ExpiresDefault "access plus 1 days"
</IfModule>

<FilesMatch "string">
   ExpiresDefault "access plus 1 days"
<<FilesMatch>

过期于
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
ExpiresByType图像/png“访问加1个月”
ExpiresByType image/vnd.microsoft.icon“访问加1个月”
ExpiresByType图像/x图标“访问加1个月”
过期按类型映像/ico“访问加1个月”
ExpiresByType应用程序/javascript“现在加上1个月”
ExpiresByType应用程序/x-javascript“现在加上1个月”
ExpiresByType文本/javascript“现在加上1个月”
ExpiresByType文本/css“现在加上1个月”
ExpiresDefault“访问加1天”
ExpiresDefault“访问加1天”

我不能。我通过index.php运行所有内容。我需要强制一个查询(例如带有“/stl/”(它不是路径)或“?g=stl”)在没有缓存的情况下运行。现在我正在使用?token=random\u string方法:/嗯,这让事情变得很困难,但仍然有一个解决办法。在这种情况下,
?token=random_string
可以在内部重写为index.php的
/link/random?token=random_string
,其中
index.php的link
只是文件系统中
index.php
的符号链接,然后为index.php的
链接写上面的
FilesMatch
,每个解决方案都很费力:(我有大约1000个URL,其中大约5%有“/stl”在URL=>中,它意味着50个符号链接或手动缓存:/n不,它并不意味着50个符号链接。使用单一规则,所有这些URL都可以重写为单个符号链接,然后它将成为单个文件匹配部分。