【问题标题】:Apache htaccess 301 Redirect to New Filename Pattern?Apache htaccess 301 重定向到新文件名模式?
【发布时间】:2015-07-15 18:40:42
【问题描述】:

我想出了一个可以将现有文件名模式转换为新文件名模式的 sn-p 代码:

RewriteEngine On
RewriteRule (.*)-pi-(.*)\.html$ $1-p-$2 [NE,R]

在我在服务器上乱搞之前,能否提供一些建议或更好的解决方案?

我希望将寻找包含“-pi-”的网址的文件重定向到“-p-”。

来自 - http://www.p.com/great-product-pi-37.html - http://www.p.com/great-product-p-37.html

每个产品的产品名称(伟大产品)和产品ID (37)都会改变,但格式保持不变。

-pi- 引用曾经是生成图像的弹出窗口。图像现在显示在同一个 -p- 屏幕上,但搜索引擎会继续索引和搜索旧的 -pi- 图像窗口。

谢谢,提前。

【问题讨论】:

    标签: apache .htaccess url redirect


    【解决方案1】:

    这应该可以通过小调整,但您还需要使用301 重定向。如果您只使用[R] 而不指定301,则默认为302。你不想要暂时的。你想要永久的。我会把它放在你可能有的其他重写之上。

    RewriteEngine On
    RewriteRule ^(.+)-pi-(.+)\.html$ /$1-p-$2.html [R=301,L]
    

    【讨论】:

    • 感谢@PanamaJack 提供的信息。今天我会测试一下。
    • 效果很好!我还添加了“?”删除附加查询信息的输出。
    • 看起来像这样:RewriteRule ^(.+)-pi-(.+)\.html$ /$1-p-$2.html? [R=301,L]
    • 为什么用“+”而不是“*”?
    • 超级解说!大多数在线示例似乎都使用 *,但在大多数情况下,使用 + 显然更有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 2012-08-18
    • 1970-01-01
    • 2014-09-03
    • 2011-04-29
    • 2011-12-31
    相关资源
    最近更新 更多