我使用 .htaccess 到 nginx 重写转换器,但解决方案不起作用。事实上,无论我尝试什么,我都无法让我的任何重写工作。我显然在这里做错了什么。
我想将除对 PHP 文件的请求之外的所有请求重定向到 index.php 文件并使用 PHP 解析请求(无论文件/文件夹是否存在)。
这是我的简约 Nginx.conf 文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
# Make sure to set this as your actual server WWW root
root html;
# Index file
index index.php;
# Rewrite that directs everything to index file
rewrite /!^(.*).php$ /./index.php last;
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
我什至尝试过像“rewrite index.php”这样的东西,但没有成功。我还尝试将重写放在单独的位置标签中,但这也没有什么区别。
我想将除对 PHP 文件的请求之外的所有请求重定向到 index.php 文件并使用 PHP 解析请求(无论文件/文件夹是否存在)。
除了没有足够的 Nginx 经验之外,我做错了什么?
原始 .htaccess 文件:
Options +FollowSymLinks
RewriteEngine on
RewriteRule !^(.*)\.php$ ./index.php [QSA,L]