.htaccess - 用正斜杠替换最后一个连字符(在许多连字符中)[正则表达式?]
.htaccess - replacing last hyphen (out of many) with a forward slash [regex?]
我有 xxxx 个格式如下的 URL:
http://www.example.com/sub/worda-wordb-wordc-123456789
但是我有指向我网站的外部链接,其 URL 格式如下:
http://www.example.com/sub/worda-wordb-wordc/123456789
我想重定向来自
的所有 URL
http://www.example.com/sub/worda-wordb-wordc/123456789
到
http://www.example.com/sub/worda-wordb-wordc-123456789
您可以使用这个 .htaccess
文件:
RewriteBase /
RewriteRule ^sub/(.*)/([0-9]+)$ /sub/-
现在,如果您转到 http://www.example.com/sub/worda-wordb-wordc/123456789
,url 将被重写为 http://www.example.com/sub/worda-wordb-wordc-123456789
。
如果这不是您要查找的内容,请在您的问题中添加更多详细信息。
请尝试以下操作:
RewriteEngine On
# Redirect URI with last slash, replacing with hyphen
RewriteRule ^sub/([\w-]+)/(\d+)/?$ /sub/- [R=302,L]
在这里,我们正在检查字母、数字、下划线和连字符 ([\w-]+)
,数字 (\d+)
和末尾的可选斜杠 /?
,只是为了确定,然后相应地重定向它。
确保将此作为您的首要规则之一,然后将 302
更改为 301
以使浏览器和搜索引擎缓存重定向。
您可以在站点根目录 .htaccess 中使用此规则:
RedirectMatch 301 ^(sub)/(.*)-(\d+)/?$ ///
我有 xxxx 个格式如下的 URL:
http://www.example.com/sub/worda-wordb-wordc-123456789
但是我有指向我网站的外部链接,其 URL 格式如下:
http://www.example.com/sub/worda-wordb-wordc/123456789
我想重定向来自
的所有 URLhttp://www.example.com/sub/worda-wordb-wordc/123456789
到
http://www.example.com/sub/worda-wordb-wordc-123456789
您可以使用这个 .htaccess
文件:
RewriteBase /
RewriteRule ^sub/(.*)/([0-9]+)$ /sub/-
现在,如果您转到 http://www.example.com/sub/worda-wordb-wordc/123456789
,url 将被重写为 http://www.example.com/sub/worda-wordb-wordc-123456789
。
如果这不是您要查找的内容,请在您的问题中添加更多详细信息。
请尝试以下操作:
RewriteEngine On
# Redirect URI with last slash, replacing with hyphen
RewriteRule ^sub/([\w-]+)/(\d+)/?$ /sub/- [R=302,L]
在这里,我们正在检查字母、数字、下划线和连字符 ([\w-]+)
,数字 (\d+)
和末尾的可选斜杠 /?
,只是为了确定,然后相应地重定向它。
确保将此作为您的首要规则之一,然后将 302
更改为 301
以使浏览器和搜索引擎缓存重定向。
您可以在站点根目录 .htaccess 中使用此规则:
RedirectMatch 301 ^(sub)/(.*)-(\d+)/?$ ///