【问题标题】:Redirect all URLs to homepage except core WordPress files将所有 URL 重定向到主页,但核心 WordPress 文件除外
【发布时间】:2014-09-17 16:07:13
【问题描述】:

我最近获得了一个域的访问权限,该域曾经拥有非常大的站点和产品群,但是旧主机将其关闭,所有 URL 都丢失了。我在域上使用 WordPress(以前它使用名为 Kyrptronic 的电子商务商店)并设置了一个简单的登录页面。到目前为止,有超过 20,000 个未找到的 URL,我需要将它们重定向到主页(我在登录页面上使用的 css 和 jpg 文件除外)。

我尝试将所有旧链接直接重定向到主页,但这意味着核心 wordpress 文件变得无法访问,并且当您尝试单击后端中的任何内容时,例如插件 - 它重定向到主页。这是我在 htaccess 文件中使用的代码。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|css|js|xml)$
RewriteRule (.*) / [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

是否有一个 htaccess 代码 sn-p 可以重定向除 jpgs、pngs 之外的所有 URL,而不是整个 wordpress 和带有 .php 文件扩展名的网站目录?

该网站有太多未找到的 URL,需要一一处理。

希望这是有道理的,这是我在这里的第一篇文章!

谢谢

【问题讨论】:

  • 这需要在你的 WP 主题的 404 处理程序中处理。
  • 抱歉,我不想听起来昏暗,但你能详细说明一下吗?我从来不需要在 WP 中处理大量错误或 404 处理程序,我只使用 htaccess 重定向单个 URL。谢谢
  • 谢谢,马上阅读!

标签: wordpress .htaccess mod-rewrite


【解决方案1】:

你可以尝试这样的事情(它必须高于 wordpress 路由规则):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|css|js|xml|php)$
RewriteRule ^ / [R=301,L]

【讨论】:

  • 谢谢,这似乎奏效了!我不得不删除 php 异常部分,因为一些旧链接以 php 结尾,但它似乎仍然有效,我可以访问所有仪表板。我能问一下你在代码中做了什么更改,以便我更好地理解它吗?
猜你喜欢
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多