2011-09-20 116 views
2

我在Subdomain有一个WordPress安装。 我希望让网站http://www.website.comWordPress Permalink 404子域到根目录迁移后的错误

WordPress的文件夹显示博客位于http://www.website.com/wordpress/

迁移已完成,但漂亮的永久链接不起作用。对于默认的永久链接结构,它很好,但对于/%postname%/它显示404错误。

这是的.htaccess代码WP根

# 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 

回答

12

我得到了永久链接的GoDaddy的工作。我不得不在.htaccess中增加一行来完成这项工作。 GoDaddy似乎在通过.htaccess访问404错误页面,因此给所有漂亮的永久链接请求提供了错误。

ErrorDocument 404 /index.php 

# 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 

上述的ErrorDocument 404的index.php线使所有与GoDaddy的差异。它强制处理与WordPress索引页面的404错误并且正常工作。

希望这有助于大家试图让漂亮的永久链接像%postname%工作与GoDaddy

+0

这是我需要的修复! – JoshP

+0

我有同样的情况。它不适用于我:( –

+0

修复它。我的问题是我的Ubuntu服务器。这是我如何修复它:https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles –

1
# BEGIN WordPress 
<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> 

# END WordPress 
+0

感谢您的帮助,但仍存在使用上面的代码404错误。有任何想法吗?我在GoDaddy上。 –

+0

.htaccess文件不应位于根目录下,它应位于/ wordpress /文件夹下,并应包含上述代码。如果这不起作用,请提供一个不工作的页面示例和permastructure。 – pittishgunner

+0

我得到它的工作。它看起来像GoDaddy通过.htaccess优先于404错误页面。所以,我添加了下面的代码'ErrorDocument 404/index.php'它现在按预期工作。我将添加新的.htaccess作为答案。感谢@pittishgunner为您提供的所有帮助 –

0

已经产生昨天我改变了我的永久链接结构,并证实它的301重定向。你可以考虑改变你的.htaccess权限到777,然后从默认永久链接变成漂亮永久链接。一旦这样做,后面的.htaccess的权限更改为777 下面是一个简单教程: How to change WordPress permalink without 404 error