【问题标题】:301 redirect does not match directory structure301 重定向与目录结构不匹配
【发布时间】:2015-10-05 09:21:52
【问题描述】:

我有一个包含 3000 个 HTML 页面的网站。现在我已迁移到 URL 中没有任何扩展名的 CMS。我保留了与 HTML 站点中相同的 URL 结构。

例如:

HTML 网站网址:

www.site.com/xyzdirectory/abc.html

CMS 网站

www.site.com/xyzdirectory/abc

为此,我使用下面的.htaccess 代码。

RedirectMatch 301 (.*)\.html$ http://www.example.com$1

但它与目录结构不匹配。

【问题讨论】:

    标签: php html .htaccess redirect


    【解决方案1】:

    例如,如果您想从 html 文件中删除 .html 扩展名:

    www.site.com/xyzdirectory/abc.html 
    

     www.site.com/xyzdirectory/abc 
    

    您只需更改上面代码的最后一行以匹配文件名:

    RewriteRule ^([^\.]+)$ $1.html [NC,L]
    

    更多信息请参阅thisthis SO 帖子

    【讨论】:

    • 我已经从简单的 HTML 站点迁移到 Concrete5 CMS。它还会起作用吗?大约有 3000 个页面和 25 个目录。它会匹配没有 .html 的相同结构吗?我的意思是重定向。
    • 如果我的站点位于子目录中并且此规则仅适用于子目录,那么规则可能是什么?例如www.mainsite.com/demosite
    • 我的意思是我在根目录中有另一个站点,我不想在其中应用此规则。此规则仅适用于我有演示站点的子目录,
    • 你可以做一些事情..创建一个子目录并在其中放置 htaccess 代码并试一试!如果您非常担心,请不要直接尝试将它们添加到您的文件中。尝试一下,如果有信心,请继续使用目标子目录!
    猜你喜欢
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 2016-03-25
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多