Apache2 虚拟主机 1 个文件,适用于任何 URL

Apache2 虚拟主机 1 个文件,适用于任何 URL

我设置了一个 Apache2 虚拟主机,以便从我设置的 URL(dns)以外的任何 URL(dns)获取访问权限。

基本上,我希望任何访问该页面的人都能显示一个页面(index.html),但保留用户在其地址栏中访问的 URL。

例如

用户访问example.url.com/example.php?param=text

或者他们去anysubdomain.example.com/anything

或者subdomain.anotherurl.com/

那么他们将会看到该文件index.html,但他们的地址栏仍然打开example.url.com/example.php?param=text(或无论他们去哪里)

输出apache2ctl -S

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName VirtualHost configuration: wildcard NameVirtualHosts and default servers: *:80 is a NameVirtualHost default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1) Syntax OK

非常感谢您的帮助

答案1

您必须编写一个重写 URL 并将其放在默认 vhost 的文档根目录中的 .htaccess 中或默认 vhost 的配置中。

我目前没有服务器可以测试,但它应该是这样的:

RewriteEngine On
RewriteCond ! "%{REQUEST_URI}" = <path to your file which should be displayed>
RewriteRule ^/?(.*) <path to your file which should be displayed> [P]

您需要 mod_proxy 和 mod_rewrite 模块才能实现此功能!更多详细信息请访问mod_rewrite标志p

相关内容