我有一个Apache2虚拟主机设置为从任何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
非常感谢帮助
您必须编写一个重写URL,并将其放置在默认虚拟主机的文档根目录中的.htaccess中,或者将其置于默认虚拟主机的configuration中。
我目前没有服务器在testing,但它应该是这样的:
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和flag pfind 。