我有一个像自定义消息显示器一样工作的 php 文件。我用 GET 传递了一些变量,它会根据它显示一条消息。它也可用作 404 错误页面。问题是; 它具有相对ErrorDocument
引用,由于可移植性,这是非常可取的,但在我重定向到该文件后,它们似乎不起作用。
文件位置:/a/b/c/custom_message_displayer.php
何时httpd.conf
设置为:
ErrorDocument 404 /a/b/c/custom_message_displayer.php?e=404
并且错误来自子目录,例如。/a/blah
,在这种情况下,活动目录是/a/
,而不是重定向/a/b/c/
到的位置ErrorDocument
,这会导致文件中的错误链接(相对 css、js、include() 路径)。
我做了一个使用附加文件的解决方法。但我很担心这一点,想知道是否有更简单的方法可以做到这一点。也许httpd.config
基于 - 的重定向也会更改活动目录?
解决方法:
ErrorDocument 404 /additional_file.php
→ 此文件重定向使用:
header('Location: /a/b/c/custom_message_displayer.php')
还保留/转发 GET 查询。
然后该文件在其目录中执行,并且所有相关链接都有效。
有没有更简单的方法来完成上述操作?感谢您的任何建议。