我正在尝试在 php.htaccess 文件中的 ErrorDocument 中制作 404、500 等页面,如果给它就可以正常工作
ErrorDocument 404 http://localhost/project/errordocs/404.html
但我不想在这里对 url 进行硬编码,而是想动态获取根 url 站点名称,这样我就不必在主机名更改时一次又一次地更改它。
基本上我想得到这样的根 url:http://localhost/project
可以更改为 http://www.example1.com/project
或 http://www.example2.com/project
等。此 url 必须来自项目根文件夹。
所以这将动态地变成:
ErrorDocument 404 http://localhost/project/errordocs/404.html
ErrorDocument 404 http://www.example1.com/project/errordocs/404.html
ErrorDocument 404 http://www.example2.com/project/errordocs/404.html
有什么帮助吗?
最佳答案
提问者问错了。都是他写的
ErrorDocument 404 http://localhost/project/errordocs/404.html
ErrorDocument 404 http://www.example1.com/project/errordocs/404.html
ErrorDocument 404 http://www.example2.com/project/errordocs/404.html
可以由
完成ErrorDocument 404 /project/errordocs/404.html
但他真的想要:在将站点从项目文件夹移动到 project1 时,他不应该更改规则
我想这可能是通过放在/project 中的 htacces 代码完成的
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ errordocs/404.html [L]
如果 AllowOverride 设置为 All(默认设置),它将起作用。
问题只是在这种情况下响应是 200 而不是 404
关于php - 在 .htaccess 中动态获取站点根主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693367/