【问题标题】:SEO-friendly URL rewrite in .htaccess.htaccess 中对 SEO 友好的 URL 重写
【发布时间】:2014-03-13 18:06:24
【问题描述】:

在你标记这个问题之前——我确实搜索了答案,发现一个靠近我但没有直接回答的问题,所以......

我正在尝试在我的 .htaccess 文件中编写一个简单的 RewriteRule 来仅更改与 SEO 友好格式匹配的链接。

RewriteEngine On
RewriteRule ^/includes/seo.([a-zA-Z]+).php$ /$1

所以如果我有一个文件

/includes/seo.mydocument.php

它将在浏览器中显示为

/mydocument

不知道我错过了什么。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    .htaccess 规则中的前导斜杠不匹配,因此请使用它

    RewriteRule ^includes/seo\.([a-zA-Z]+)\.php$ /$1 [L,R]
    

    但可能你想要这个:

    RewriteEngine On
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+includes/seo\.([^.]+)\.php[/\s?] [NC]
    RewriteRule ^ /%1? [R=302,L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/.]+)/?$ /includes/seo.$1.php [L]
    

    【讨论】:

    • 查看已编辑的代码并确保它在文档根目录 .htaccess 中
    • 成功了!哇,比我预期的要复杂得多……谢谢。
    猜你喜欢
    • 2021-07-06
    • 2015-01-04
    • 1970-01-01
    • 2015-01-13
    • 2019-06-07
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多