我在尝试将一些用户请求重定向到指向非现有文件的 Apache 服务器时遇到问题,使用如下所示:
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^/a/b/c.* /d/e$1 [L]
我的意图是,如果某些用户请求文件http://whatever.com/a/b/c/something,它不存在,而不是发送 404 错误,重写 URL 以从http://获取它what.com/d/e/something,我可以确定该文件确实存在。
我知道这方面有很多主题,但我做了非常深入的研究,我的问题是无论我尝试什么组合,我似乎都无法让重写模块工作..
即使有这样的事情:
RewriteRule ^(.*) /index.html [L]
这可能会将每个请愿书重定向到 index.html ,但它什么也没做。
它应该被加载,因为 apache2ctl -M 输出rewrite_module正确加载
在调试级别记录错误,我只看到,用户请求不存在的文件,而 Apache 回答“404 文件不存在”错误..
我是服务器管理员,所以我没有使用 .hcaccess,我直接编辑 httpd.conf 文件,所以应该没有覆盖指令问题。
我错过了什么?