我想要域名 example.com/a/1234/asdf、example.com/a/7890/qwer、...、example.com/a/* 从同一个索引文件 /var/www/foo/bar/index.php 提供网页
我的 nginx 配置如下:
server {
listen 80;
root /var/www;
index index.php;
rewrite */a/(.*) /var/www/foo/bar/index.php;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
当我转到 example.com/a/1234/asdf 时,出现 404 未找到错误。
答案1
您可能没有文件/var/www/var/www/foo/bar/index.php
。因此当然找不到它。请记住,这些路径是相对于文档的root
。
你可能想要这样的东西:
rewrite */a/(.*) /foo/bar/index.php last;