在wordpresspress主安装的子文件夹中安装wordpress

时间:2014-11-04 02:17:59

标签: php wordpress .htaccess redirect

好的,我已经在 SERVER1 的根目录下安装了(www.SITEURL1.co.uk),我想移动另一个wordpress (www.SITEURL2.co.uk)我在另一台服务器(SERVER2),在的子文件夹中(www.SITEURL1.co.uk/onlinerevision) 现在就像这样:

  • ROOT(siteurl1)
  • 可湿性粉剂管理员
  • wp-content等。
  • (适用SITEURL1 / onlinerevision /)
    • 可湿性粉剂管理员
    • wp-content etc ..

所以我将第二个wp安装文件放入给定的(www.SITEURL1.co.uk/onlinerevision /)子文件夹中。现在我可以看到主页是可访问的,css不行,所有链接都重定向到 www.SITEURL2.co.uk

例如: www.SITEURL1.co.uk/onlinerevision/login / 重定向到 www.SITEURL1.co.uk/login /

www.SITEURL1.co.uk/onlinerevision/signup / 重定向至 www.SITEURL1.co.uk/signup /

www.SITEURL1.co.uk/onlinerevision/wp-login.php 循环重定向到同一页面(www.SITEURL1.co.uk /onlinerevision/wp-login.php)我无法像这样登录仪表板:

http://siteurl1.co.uk/onlinerevision/wp-login.php?redirect_to=http%3A%2F%2Fsiteurl1.co.uk%2Fonlinerevision%2Fwp-admin%2F&reauth=1

在我为www.SITEURL1.co.uk/onlinerevision/开放的数据库中,我正在更改wp_options表 - > siteurl从www.SITEURL2.co.uk/到www.SITEURL1.co.uk/onlinerevision /

但不知怎的,它又回到了www.SITEURL2.co.uk /

显然,www.SITEURL1.co.uk和www.SITEURL1.co.uk/onlinerevision/都有相同的htaccess代码:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我尝试了不同的方法,但没有奏效。任何帮助都会非常感激!

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

很抱歉再次跟踪了。

首先,让我们解决.htaccess文件。

在root中你想告诉它忽略你的第二个WordPress安装目录。

<强> /。htaccess的

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Skip your second WordPress installation
RewriteCond %{REQUEST_URI} !^/(onlinerevision|onlinerevision/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

对于第二次安装,您要设置RewriteBase,然后调整最终规则,以便正确使用它。

<强> onlinerevision / htaccess的

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# Set the RewriteBase to this directory
RewriteBase /onlinerevision/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Remove the slash before index.php or we end up at root
RewriteRule . index.php [L]
</IfModule>
# END WordPress

其次,移动WordPress安装时,有两个地方需要更改站点URL。它们都位于 wp_options 表中。一个名为 siteurl ,另一个名为 home

我抓了一个我的测试网站的副本并将其移动到另一个测试网站的目录中,然后设置这两个.htaccess文件并且是金色的。移动中的大多数其他怪异都与嵌入在页面/帖子中的插件/主题或URL有关。如果您仍然遇到问题,请尝试禁用所有主题/插件以查看它是否已清除。

调试mod_rewrite

此外,您可以打开mod_rewrite的日志记录以帮助缩小范围。日志可能很神秘,但一旦你弄清楚如何阅读它,你通常可以找出出错的地方或至少缩小范围。要做到这一点,你需要添加几行到服务器conf(而不是htaccess文件)。对于您遇到问题的网站,VirtualHost指令是个好地方。

    RewriteEngine On
    RewriteLog "/var/log/httpd/rewrite.log"
    # From 0 (no logging) to 9 (OMFG make it stop)
    RewriteLogLevel 3

PS:超过2-3的记录会对您的服务器产生重大影响,因此只在调试时使用它,并且在完成后不要忘记将其关闭。