一个文件中有多个ht访问规则

S ..

我的网站应该尝试处理来自缓存子目录(/ app / storage / cache)的所有请求,以便从/app/storage/cache/two.html提供对/two.html的请求。

更多示例:/从/app/storage/cache/index.html提供/ /two.html从/app/storage/cache/two.html提供/ / folder从/app/storage/cache/folder/index.html提供

如果未找到文件/目录,则应使用php文件/app/router.php处理所有请求。

我尝试过的

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /app/storage/www/$1 [L]
RewriteRule ^(/)?$ /app/storage/www/$1 [L]

可以很好地捕获所有网址并提供正确的资源而不更改网址。现在抓到所有其他内容:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . app/router.php [L]

那也行得通,但是第一组条件不再起作用...

武士8

我可以通过三种方式来思考如何做到这一点。一种是在通过同一文件生成页面之前,通过router.php检查缓存。另两种方式涉及一些重写魔术。

我没有测试任何一个。

跌倒法

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /app/storage/www/$1

#From this point on, the file/dir either exists or
#%{REQUEST_FILENAME} is now /app/storage/www/something
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^app/storage/www/ /app/router.php [L]

显式测试

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/app/storage/www/$1 !-f
RewriteCond %{DOCUMENT_ROOT}/app/storage/www/$1 !-d
RewriteRule ^(.*)$ /app/router.php [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /app/storage/www/$1 [L]

可以通过使用Apache的主配置文件(httpd.conf)而不是.htaccess文件来加快这两种方法,因为它不需要在每个请求中都搜索/读取.htaccess文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一个文件中有多个不同的 AJAX 请求

来自分类Dev

一个docker中有多个dockerfile或一个dockerfile中有多个映像

来自分类Dev

单个文件中有多个数据块,每个块有一个绘图+标记

来自分类Dev

一个查询中有多个SUM,其中多个

来自分类Dev

一个文件夹中有多个GIT项目

来自分类Dev

PHP-Symfony2.4我可以在一个文件中有多个类吗?

来自分类常见问题

一个Sublime Text 3窗口中有多个文件夹/项目

来自分类Dev

作为脚本运行时,一个文件中有多个Groovy类

来自分类Dev

一个服务器文件中有多个Node.js“应用”是不好的做法?

来自分类Dev

一个项目中有多个UIImage + ImageEffects文件

来自分类Dev

使用mpv在媒体文件中有多个音轨时,如何选择一个音轨?

来自分类Dev

一个coffeescript文件中有多个事件处理程序

来自分类Dev

htaccess-一个文件中包含多个规则

来自分类Dev

一个BEGIN ... END块中有多个语句

来自分类Dev

一个Gulp任务中有多个同步流?

来自分类常见问题

一个块中有多个尝试代码

来自分类Dev

一个PdfPCell中有多个短语

来自分类Dev

一个对象中有多个列表

来自分类Dev

一个类中有多个标签

来自分类Dev

一个setInterval()中有多个函数?

来自分类Dev

mongodb一个结果中有多个组

来自分类Dev

一个变量中有多个主列表

来自分类Dev

SQLAlchemy:一个查询中有多个计数

来自分类Dev

一个列表中有多个类

来自分类Dev

一个应用程序中有多个JFrame

来自分类Dev

一个程序执行中有多个时间戳

来自分类Dev

一个do-block中有多个monad

来自分类Dev

一个项目中有多个Web API?

来自分类Dev

一个片段中有多个RecyclerView