重定向包含点的URL



我错误地创建了包含句点的URL。为了用"-"更新dot,我更新了数据库中的所有URL,同时我在.htaccess 中添加了以下行

# Don't rewrite any URIs ending with a file extension (ending with .[xxxx])
RewriteCond %{REQUEST_URI} !.[a-zA-Z0-9]{2,5}$

现在有什么方法可以在.htaccess中添加RewriteRule或条件,这样所有包含句点的URL都可以通过用"-"替换句点来重定向吗?

是的,这很简单。您所要做的只是使用捕获组在.之前和之后进行匹配,然后只使用backrefences创建带有-的新URL。

RewriteCond %{REQUEST_URI} ^/(.+).(.+)$ [NC]
RewriteRule ^ /%1-%2 [R=301,L]

让我知道这是怎么回事

最新更新