我最近更改了一个目录/old_dir/
以/new_dir/
使用它:
RedirectMatch 301 /old_dir/(.*) /new_dir/$1
这似乎非常适合网址:
http://www.mysite.com/old_dir/test.php?var=xxxx
去
http://www.mysite.com/new_dir/test.php?var=xxxx
文件名在哪里test.php
。但在很多地方我使用:
http://www.mysite.com/old_dir/test?var=xxxx
这提出了:
The requested URL /old_dir/test was not found on this server.
不使用 .php 扩展名利用了某种 apache 插件,该插件知道它是一个 php 处理程序,这似乎会扰乱重定向,因为它说它现在不存在。
我不知道如何解决这个问题。
编辑:所有解决方案都针对这种特殊情况,但请注意,我有大约 1000 个其他文件可能不是 php,或者名称相同。
现在,我只是在 old_dir 中创建了一个名为“test”的符号链接,以指向 new_dir 的 test.php。但我仍在寻找包含我的场景的非特定解决方案。