1

我在尝试将一些用户请求重定向到指向非现有文件的 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 文件,所以应该没有覆盖指令问题。

我错过了什么?

4

1 回答 1

0
RewriteCond %{HTTP_HOST} ^yourdomain.com
RewriteRule (.*) http://www.yourdomain.com/$1 [R=301,L]

...将用户重定向到索引页面。

于 2012-11-07T22:42:25.223 回答