Nginx 未找到文件,但从 mysql 中选择信息

洛帕斯

嘿,我在 xampp 和 nginx 网络服务器上安装脚本时遇到问题。在 xampp 上 pefrectly 在 nginx 上工作只能在主页上工作,其他链接不起作用,因为 nginx 找不到文件我收到 404 错误但是像 /login /singup 从数据库 mysql 和文件中选择信息的链接不存在,例如 login.php singup.php 但是nginx 尝试搜索文件,但出现错误 404 需要做什么来修复它?在 xampp 我没有得到那个错误

server {
    listen 80;
    listen 443 ssl http2;
    server_name hiddenlink.com;

root   /var/www/yt/ig;
index index.php;

location / {
    autoindex on;
    root   /var/www/yt/ig;
    index index.php;

}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /var/www/yt;
}
error_page 404 /404.html;
    location = /404.html {
            root /var/www/yt;
            internal;
    }

#location / {
#try_files $uri $uri/ /index.php?q=$uri$args;
#}

location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
    return 404;
}
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    #fastcgi_connect_timeout 300s;
    fastcgi_read_timeout 120s;
    #fastcgi_send_timeout 300s;

    }

location ~ /\.ht {
    deny all;
}


if ($http_user_agent ~ "libwww-perl") {
    set $block_user_agents 1;
}

}

.htaccess 脚本

RewriteEngine On

#RewriteCond %{HTTPS} off
#RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Options +FollowSymLinks
Options -Indexes

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . index.php [L,QSA]



# Performace optimization

# BEGIN Compress text files
<ifModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain
  AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml
  AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml
  AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json
  AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf
  AddOutputFilterByType DEFLATE font/truetype font/opentype
</ifModule>
# END Compress text files

# BEGIN Expire headers
<ifModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 5 seconds"
  ExpiresByType image/x-icon "access plus 31536000 seconds"
  ExpiresByType image/jpeg "access plus 31536000 seconds"
  ExpiresByType image/png "access plus 31536000 seconds"
  ExpiresByType image/gif "access plus 31536000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 31536000 seconds"
  ExpiresByType text/css "access plus 31536000 seconds"
  ExpiresByType text/javascript "access plus 31536000 seconds"
  ExpiresByType application/javascript "access plus 31536000 seconds"
  ExpiresByType application/x-javascript "access plus 31536000 seconds"
</ifModule>
# END Expire headers

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
  <filesMatch ".(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch ".(css)$">
    Header set Cache-Control "public"
  </filesMatch>
  <filesMatch ".(js)$">
    Header set Cache-Control "private"
  </filesMatch>
  <filesMatch ".(x?html?|php)$">
    Header set Cache-Control "private, must-revalidate"
  </filesMatch>

  <filesMatch ".(woff|woff2|ttf|otf|eot)$">
    Header set Cache-Control "max-age=31536000 private, must-revalidate"
  </filesMatch>
</ifModule>
# END Cache-Control Headers
马格努斯·埃里克森

您的 htaccess 中有一个重写规则,它将所有请求(服务器上不存在的)重定向到您的index.php文件:

从您当前的 htaccess:

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule . index.php [L,QSA]

由于 nginx 不使用 htaccess 文件,因此您需要将相同的规则添加到 nginx-server 配置中。

这个 nginx-rule 应该和 htaccess-rewrite 做同样的事情:

location / {
    try_files $uri $uri/ /index.php?$args;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MySQL中选择信息

来自分类Dev

从bat文件中的txt中选择信息

来自分类Dev

如何从文件中选择特定信息?Python

来自分类Dev

从MySQL信息模式中的表中选择列名时出错

来自分类Dev

404未找到nginx反应

来自分类Dev

未找到 NGINX htpasswd 404

来自分类常见问题

在mysql中选择

来自分类Dev

从MySQL中选择计数

来自分类Dev

在MySQL中选择查询

来自分类Dev

在MySQL中选择条目

来自分类Dev

MySQL从多行中选择

来自分类Dev

从MySQL中选择(日期)

来自分类Dev

插入...在MySQL中选择

来自分类Dev

从mysql中选择多行,但从每个id中显示一个结果

来自分类Dev

在文件选择器Java中选择后显示文件信息

来自分类Dev

从3个MySQL表中选择帖子,用户详细信息和投票

来自分类Dev

如果第二个匹配,mysql从两个表中选择信息

来自分类Dev

从MySql表中选择信息,然后将其存储到变量中

来自分类Dev

在php和mysql中上传后未找到文件

来自分类Dev

在TabHost设置中选择容器,“未找到ID的视图”

来自分类Dev

404 未找到 nginx/1.10.3 (Ubuntu)

来自分类Dev

MySQL:从值列表中选择

来自分类Dev

在mysql中选择不同的上下

来自分类Dev

在MySQL中选择外部列

来自分类Dev

在mysql中选择大量插入

来自分类Dev

在MySQL中选择项目

来自分类Dev

在mysql中选择更多范围

来自分类Dev

MySQL从多个表中选择

来自分类Dev

无法在mysql中选择表