在Vagrant Dev环境中使用WP进行尾随斜杠问题

时间:2013-01-30 01:18:22

标签: wordpress nginx vagrant

我有一个在Vagrant开发环境中运行的Wordpress网站。当我加载http://localhost:8080时,该网站可以正常运行,但只要我尝试通过http://localhost:8080/wp-admin访问管理员,我就会被重定向到http://localhost/wp-admin/

这里有两件事:

  1. Something(Wordpress?)正在强制使用尾部斜杠(除了......之外没问题)。
  2. 在尾部斜杠重定向中,端口丢失(非常不好)。
  3. 我已经尝试添加port_in_redirect指令(使用两个值,说实话),我在其他类似问题的答案中看到过,但它没有改变。这似乎是一个Wordpress,咳咳,功能,但我找不到任何解释其目的或帮助我防止它破坏的东西。我希望有人可以提供帮助。

    我的Nginx server阻止:

    server {
      listen      80;
      server_name localhost;
      root        /vagrant/www;
      index       index.php;
    
      access_log /var/log/nginx/project.vm.access.log;
      error_log  /var/log/nginx/project.vm.error.log;
    
      location / {
        try_files $uri $uri/ /index.php?$args;
      }
    
      # Add trailing slash to */wp-admin requests so the admin interface
      # works correctly. I've tried with and without this. No difference.
      rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    
      location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
      }
    
      # Cache static files
      location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
      }
    
      location = /favicon.ico {
        access_log off;
        log_not_found off;
      }
      location = /robots.txt {
        access_log off;
        log_not_found off;
        allow all;
      }
    
      location ~ /\. {
        access_log off;
        log_not_found off;
        deny all;
      }
    
      location ~ ~$ {
        access_log off;
        log_not_found off;
        deny all;
      }
    }
    

    在我的wp-config.php文件中,我设置了WP_HOMEWP_SITEURL个常量。

    define('WP_HOME','http://localhost:8080');
    define('WP_SITEURL','http://localhost:8080');
    

    知道我缺少什么吗?

1 个答案:

答案 0 :(得分:0)

我最近在将WordPress安装从服务器移动到本地Vagrant实例后遇到了同样的问题并解决了它添加:

define('RELOCATE',true);

到wp-config.php文件并转到http://localhost:8080/wp-login.php

我在http://codex.wordpress.org/Changing_The_Site_URL#Relocate_method找到了解决方案,我认为您可以找到其他一些方法来解决将WP安装从一台服务器移动到另一台服务器的问题。