【问题标题】:301 Redirect htaccess issue301 重定向 htaccess 问题
【发布时间】:2012-08-22 17:53:59
【问题描述】:

我想为我的网站 URL 执行 301 重定向,例如将 http://example.com/old-folder/allhtmlfiles.html 重定向到 http://example.com/new-folder/allhtmlfiles.html

old-folder 下的所有 html 文件都应该可以通过 /new-folder/ 访问

我该怎么做,我尝试了一些在这里找到的解决方案,但它们给了我 404 错误。

感谢您的帮助。

苏西·马茨


我相应地更改了我的 .htaccess 但不起作用。 我想我在上一个问题中没有明确提到slug change。

这是这个 wordpress 网站上的实际链接,

http://dland.in/sale/land-in-madikeri-karnataka-state-india-1750-acre/

现在文件夹名称已更改,这是新链接

http://dland.in/kerala-real-estate-sale/land-in-madikeri-karnataka-state-india-1750-acre/

第二个蛞蝓(land-in-madikeri-karnataka-state-india-1750-acre)可以是任意的

所以我想获得一个 301 重定向到新链接。

非常感谢。

【问题讨论】:

  • 请向我们展示您尝试过的一些解决方案
  • @yazmat 这是 .htaccess 到目前为止...我尝试过不同的但我没有记下它们...有些导致网站关闭。 # BEGIN WordPress ErrorDocument 404 /index.php?error=404 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 。 /index.php RewriteBase / RewriteRule ^sale/(.*)$ dland.in/kerala-real-estate-sale/$1 [R=301,L] # END WordPress

标签: .htaccess redirect


【解决方案1】:

把它放在你文档根目录的 htaccess 文件中:

RewriteEngine On
RewriteRule ^old-folder/(.*)$ /new-folder/$1 [L,R=301]

【讨论】:

  • 我相应地更改了我的 .htaccess 但不起作用。我想我在上一个问题中没有清楚地提到slug 的变化。这是这个 wordpress 站点中的实际先前链接,[链接]dland.in/sale/land-in-madikeri-karnataka-state-india-1750-acre 现在文件夹名称已更改,这是新链接 [链接]dland.in/kerala-real-estate-sale/… 第二个 slug (land-in-madikeri-karnataka-state- india-1750-acre) 可以是任何值,因此我希望将 301 重定向到新链接。非常感谢。
  • @SuzyMatts 正如你所看到的,它对我来说非常好,使用你的例子:i.stack.imgur.com/q0EfW.png 左边的窗口是 HTTP 脚本,请求几个不同的 URL。右边的屏幕是 htaccess 文件。像宣传的那样工作。
  • @JunLin 这是我的 .htaccess 内容。你能检查一下我做错了什么# BEGIN WordPress ErrorDocument 404 /index.php?error=404 RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 。 /index.php RewriteBase / RewriteRule ^sale/(.*)$ dland.in/kerala-real-estate-sale/$1 [R=301,L] # END WordPress
  • @SuzyMatts 您需要将 301 重定向规则 置于 将所有内容路由到 index.php 的规则之上,否则不会重定向任何内容,因为 URI 变为 index.php
【解决方案2】:

我对您发布的 htaccess 的内容做了一些更改(删除了重复的重写基础并首先移动了销售规则),试试这个:

ErrorDocument 404 /index.php?error=404 

RewriteEngine On 

RewriteBase /

RewriteRule ^sale/(.*)$ dland.in/kerala-real-estate-sale/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L]

【讨论】:

    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多