我已经安装了后缀代理,并且我正在使用以下重写与通配符子域 DNS:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
break;
}
}
我的后缀代理具有以下 URL 格式:(子域和/或域 + 域扩展到代理).proxy.org/(request-uri 到代理)
我的 index.php 中有这个 php 代码:
if(preg_match('#([\w\.-]+)\.example\.com(.+)#', $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'], $match)) {
header('Location: http://example.com/browse.php?u=http://'.$match[1].$match[2]);
die;
}
但是当请求一个带有 .php 扩展名的页面时,我会得到一个 404 not found 错误:
http://www.php.net.proxy.org/docs.php - HTTP/1.1 404 Not Found
http://www.utexas.edu.proxy.org/learn/php/ex3.php - HTTP/1.1 404 Not Found
但其他一切都在工作(index.php 也在工作):
http://php.net.proxy.org/index.php - HTTP/1.1 200 OK
http://www.php-scripts.com.proxy.org/php_diary/example2.php3 - HTTP/1.1 200 OK
http://www.utexas.edu.proxy.org/learn/php/ex3.phps - HTTP/1.1 200 OK
http://www.w3schools.com.proxy.org/html/default.asp - HTTP/1.1 200 OK
有人有答案吗?我不知道为什么它不起作用,在 apache 上它工作正常。
提前致谢。