在子文件夹和域重定向中与Wordpress永久链接问题

时间:2015-08-15 17:09:33

标签: wordpress .htaccess http-redirect

我在托管空间安装了一个Wordpress网站,其中已有一个活跃的网站。我不想删除它,所以我将Wordpress放在它自己的目录中,具有:http://domain.com/wordpress

在我设置的wp-config.php文件中:

define('WP_HOME', 'http://domain.com/wordpress/');
define('WP_SITEURL', 'http://domain.com/wordpress/');

然后,我在root中创建了一个.htaccess文件,在wordpress文件夹中创建了一个文件。它们分别包含:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$
RewriteRule ^(/)?$ wordpress [L]

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

这样,当我转到http://domain.com/时,我会被重定向到http://domain.com/wordpress,网站上的所有内容都能正常运行。但我想要的是让网址只显示http://domain.com,而不是“wordpress”部分。我只能使用.htaccess

来实现

我面临的另一个问题是有一个重定向域集。这个http://otherdomain.com指向http://domain.com。这个其他域应该是主要的域。现在,当我访问http://otherdomain.com时,网站显示正确;链接正在运行,但网址不会相应更改:无论如何,它始终显示http://otherdomain.com

到目前为止,我尝试搜索和替换数据库中的所有条目,替换域并相应地修改其他选项。这样做的网站显示没有CSS,没有图像,没有链接工作。

1 个答案:

答案 0 :(得分:0)

要解决子文件夹问题,请尝试替换

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^yourdomain.com$ 
RewriteCond %{REQUEST_URI} !^/wordpress/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /wordpress/$1 
RewriteCond %{HTTP_HOST} ^yourdomain.com$ 
RewriteRule ^(/)?$ wordpress/index.php 

不要忘记将yourdomain.com替换为确切的域名。

此外,请恢复数据库更改,因为现在WordPress正在尝试在根目录中查找文件。

如果这不起作用,您的主机帐户面板中可能会有这样的重定向选项。