子目录中的WordPress在Nginx fastcgi上提供根index.php

雪球

我在NGINX服务器上遇到一个奇怪的问题。

如法典中所述,我将wordpress从我的根目录移到了/ blog /子目录。

它成功显示了博客索引,但是如果我想显示其他内容,例如特定的帖子或存档页面,它将提供根index.php

甚至不存在的URL也用作根index.php

如果删除根index.php,它将返回404错误。

也许是由于我的nginx和fastcgi设置所致,但是我真的没有头绪:

server {
    listen 80;
    listen [::]:80;

    root /var/www/html;
    index index.php index.html index.htm;

    client_max_body_size 10M;

    # Make site accessible from http://localhost/
    server_name


            set $no_cache 0;
            if ($request_method = POST){set $no_cache 1;}
            if ($query_string != ""){set $no_cache 1;}
            if ($http_cookie = "PHPSESSID"){set $no_cache 1;}
            if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {set $no_cache 1;}
            if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in"){set $no_cache 1;}



    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_cache  microcache;
            fastcgi_cache_key $scheme$host$request_uri$request_method;
            fastcgi_cache_valid 200 301 302 30s;
            fastcgi_cache_use_stale updating error timeout invalid_header http_500;
            fastcgi_pass_header Set-Cookie;
            fastcgi_no_cache $no_cache;
            fastcgi_cache_bypass $no_cache;
            fastcgi_pass_header Cookie;
            fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            include fastcgi_params;
    }


    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            # try_files $uri $uri/ =404;
            try_files $uri $uri/ /index.php?q=$uri&$args;
            # Uncomment to enable naxsi on this location
            # include /etc/nginx/naxsi.rules
    }

}

编辑:更新了整个服务器块

史蒂夫·E。

try_files语句将所有不存在的文件发送到Web根目录中的index.php。在配置中添加一个专门用于您博客的第二个位置:

location /blog {
    try_files $uri $uri/ /blog/index.php;
}

try_files的工作方式如下:

按指定顺序检查文件是否存在,并使用找到的第一个文件进行请求处理;该处理是在当前上下文中执行的。文件的路径是根据根和别名指令从file参数构造的。可以通过在名称末尾指定斜杠来检查目录是否存在,例如“ $ uri /”。如果未找到任何文件,则将进行内部重定向到最后一个参数中指定的uri。例如:

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从子目录中的CI删除index.php

来自分类Dev

从子目录中的CI删除index.php

来自分类Dev

Nginx - 域上的 WordPress 和子目录中的 Node.js 应用程序

来自分类Dev

从Nginx中的子目录运行辅助PHP应用

来自分类Dev

NGINX虚拟子目录将PHP文件作为下载文件提供

来自分类Dev

设置nginx以提供子目录中的文件

来自分类Dev

Nginx php-fpm子目录

来自分类Dev

PHP Slim 3 .htaccess 和 index.php 在子目录中不起作用

来自分类Dev

PHP在根文件夹中包含来自不同子目录的文件

来自分类Dev

如何重定向index.php文件中不存在的子目录,并保持URL

来自分类Dev

通过htaccess在子目录中删除id和index.php

来自分类Dev

php中的Nginx:子目录下的php文件抛出404错误

来自分类Dev

Runnin magento将wordpress解开为Nginx上的子目录

来自分类Dev

从子目录网站URL删除index.php

来自分类Dev

如何在Nginx的子目录中获取Slim PHP Framework路由

来自分类Dev

如何在Nginx的子目录中获取Slim PHP Framework路由

来自分类Dev

如何将我的page。[slugURL] .php文件组织到WordPress的子目录中?

来自分类Dev

带有 PHP 的子目录的 Nginx 配置返回 404

来自分类Dev

htaccess将root重定向到子目录,但允许root中的index.php起作用

来自分类Dev

如何使用php在父目录中创建子目录?

来自分类Dev

列出目录中的文件但不列出子目录 PHP

来自分类Dev

子目录路径上停靠的linuxserver / dokuwiki的Nginx规则

来自分类Dev

在子目录中找不到config.php

来自分类Dev

如何使用.HTACCESS重写子目录中的PHP文件

来自分类Dev

子目录中单个.php页面的RewriteRule

来自分类Dev

PHP - 包含在子目录中不起作用

来自分类Dev

如何将Nginx中的一个域转发到不同的子目录(php,rails)?

来自分类Dev

如果每个子目录中都存在index.php,如何检查php?

来自分类Dev

Nginx Wordpress配置,主题目录中的PHP文件未传递到FastCGI

Related 相关文章

  1. 1

    从子目录中的CI删除index.php

  2. 2

    从子目录中的CI删除index.php

  3. 3

    Nginx - 域上的 WordPress 和子目录中的 Node.js 应用程序

  4. 4

    从Nginx中的子目录运行辅助PHP应用

  5. 5

    NGINX虚拟子目录将PHP文件作为下载文件提供

  6. 6

    设置nginx以提供子目录中的文件

  7. 7

    Nginx php-fpm子目录

  8. 8

    PHP Slim 3 .htaccess 和 index.php 在子目录中不起作用

  9. 9

    PHP在根文件夹中包含来自不同子目录的文件

  10. 10

    如何重定向index.php文件中不存在的子目录,并保持URL

  11. 11

    通过htaccess在子目录中删除id和index.php

  12. 12

    php中的Nginx:子目录下的php文件抛出404错误

  13. 13

    Runnin magento将wordpress解开为Nginx上的子目录

  14. 14

    从子目录网站URL删除index.php

  15. 15

    如何在Nginx的子目录中获取Slim PHP Framework路由

  16. 16

    如何在Nginx的子目录中获取Slim PHP Framework路由

  17. 17

    如何将我的page。[slugURL] .php文件组织到WordPress的子目录中?

  18. 18

    带有 PHP 的子目录的 Nginx 配置返回 404

  19. 19

    htaccess将root重定向到子目录,但允许root中的index.php起作用

  20. 20

    如何使用php在父目录中创建子目录?

  21. 21

    列出目录中的文件但不列出子目录 PHP

  22. 22

    子目录路径上停靠的linuxserver / dokuwiki的Nginx规则

  23. 23

    在子目录中找不到config.php

  24. 24

    如何使用.HTACCESS重写子目录中的PHP文件

  25. 25

    子目录中单个.php页面的RewriteRule

  26. 26

    PHP - 包含在子目录中不起作用

  27. 27

    如何将Nginx中的一个域转发到不同的子目录(php,rails)?

  28. 28

    如果每个子目录中都存在index.php,如何检查php?

  29. 29

    Nginx Wordpress配置,主题目录中的PHP文件未传递到FastCGI

热门标签

归档