我在Raspberry Pi上有nginx。在/etc/nginx/sites-available/default
中,我使用以下内容替换了server{}
,然后我可以使用http://192.168.1.210/访问/var/www/html/index.php
。
server {
listen 80;
server_name $domain_name;
root /var/www/html/;
index index.html index.htm;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location ~\.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
try_files $uri =404;
include fastcgi_params;
# if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; }
}
}
我现在想添加一些类似于Apache的简单重定向
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
我在最后添加了if (!-e $request_filename){ rewrite ^(.*)$ /index.php break;
(请参阅上面注释掉的行)并将http://192.168.1.210/page2放在浏览器中,但是,该脚本仍然没有重定向到/var/www/html/index.php
< / p>
如何将任何不存在的请求重定向到index.php?
答案 0 :(得分:1)
您要完成的是将不存在的文件和目录重定向到index.php?
这可以通过使用:
来完成try_files $uri $uri/ /index.php;
或更合理的是:
error_page 404 /index.php;
这也会重定向丢失的文件,图片......