首页 > 解决方案 > 正则表达式中的可选文本

问题描述

我正在尝试编写一个匹配带有和不带有 html 的 url 的正则表达式,Itried 这种方式但 ots 不起作用

RedirectMatch 301 ^/my_url(\.html)$ /es/promo/my_url.html

它应该工作myurlmy_url.html但它没有

标签: .htaccessmod-rewriteurl-rewriting

解决方案


您可以在您的站点根目录 .htaccess 中尝试这些规则:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/es/promo/ [NC]
RewriteRule ^(.*?)(?:\.html?|/?)$ /es/promo/$1.html [L,NC,R=301]

推荐阅读