1

我最近安装了 Wordpress SEO 插件,该插件要求我更改我的永久链接设置。

现在,我这样做是为了获得包含帖子名而不是帖子 ID 的更好看的链接。

进行更改后,我在首页上遇到了 404 错误。

我的静态页面似乎工作正常 + 到我的博客文章的直接链接(通过后端访问)也可以工作。

但是我的首页只是给了我一个 404 而不是列出我的帖子。

关于我的设置的一些信息

我的博客被放置在一个子目录中,所以它的访问方式如下:

www.myhomepage.com/blog/

但是,我也有一个重定向,将blog.myhomepage.com 定向www.myhomepage.com/blog/

我像这样在我的 htaccess 文件中添加了这个重定向

RewriteEngine on
RewriteCond %{HTTP_HOST} ^blog\.myhomepage\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.blog\.myhomepage\.com$
RewriteRule ^/?$ "http\:\/\/www\.myhomepage\.com\/blog" [R=301,L]

我刚刚尝试从我的 htaccess 文件中删除此行,如果这样做,该站点将正常工作,但我实际上想要此重定向。

我怎样才能纠正它并使其正常工作?

我真的希望有人能比我聪明一点;)

4

2 回答 2

0
  • 登录到您的 WordPress 仪表板
  • 转到设置→永久链接
  • 选择默认设置
  • 单击保存更改按钮
  • 将设置更改回以前的配置(在默认之前选择一次)。如果您有自定义结构,请将其放回原处。
  • 点击保存设置

如果您的站点位于主域上,例如www.yoursite.com,请将此代码添加到您的 .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
于 2020-07-27T09:12:28.860 回答
-1

以下是如何将所有内容都设为 blog.myhomepage.com:

仪表板,设置,常规,有一个站点 URL。

将其更改为您的 blog.myhomepage.com。

然后,您可以将重定向 301 添加到 www.myhomepage.com 的 /.htaccess 文件中,以便将 www.myhomepage.com/blog 重定向到 blog.myhomepage.com 的 301。

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^myhomepage.com/blog/ [nc]
rewriterule ^(.*)$ http://blog.myhomepage.com/$1 [r=301,nc]

这会将任何内容从whatever.myhomepage.com/blog/* 反弹到blog.myhomepage.com/samecontentlink。

在 /blog/.htaccess 文件中:

您只需要在此处使用默认的 wordpress .htaccess。

这将解决您的问题,您必须在仪表板、设置、常规中设置正确的站点域 URL。

如果您不想要 blog.myhomepage.com 而是想要 www.myhomepage.com/blog/ 的所有内容:

如果您希望您的子域被忽略,您可以简单地将其从 dns 中删除,然后确保您的博客在 Dashboard、settings、general 中的 URL 设置为 http://www.mysite.com/blog/

并确保 /blog/ 中的 .htaccess 文件包含博客的基础。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
于 2013-04-22T22:05:03.097 回答