带破折号或连字符的 RewriteRule
RewriteRule with dash or hyphen
根据 SEO 指南,我正在将页面从
更改为 url
website.com/color_red/
(下划线)到
website.com/color-red/
(破折号/连字符)
/color-red/ 必须简单地生成 ?c=red
在 .htaccess 中,这与下划线完美结合:
RewriteRule ^color_([^/\.]+)/?$ ?c= [L]
不带破折号:
RewriteRule ^color-([^/\.]+)/?$ ?c= [L]
我认为破折号字符必须转义,但我不知道如何转义。
能否请您尝试以下。请确保在测试您的 URL 之前清除您的浏览器缓存。
第一个解决方案: 要在您的网址中同时处理 _
或 -
,请尝试以下操作。
RewriteEngine ON
RewriteRule ^color[_-]([^/]*)/?$ ?c= [L]
第二个解决方案: 如果您只想处理 URL 中的 -
,请尝试以下操作。
RewriteEngine ON
RewriteRule ^color-([^/]*)/?$ ?c= [L]
一个简单的解决方案是用方括号 [-]
:
转义 hypen/dash 字符 -
RewriteRule ^color[-]([^/\.]+)/?$ ?c= [L]
根据 SEO 指南,我正在将页面从
更改为 urlwebsite.com/color_red/
(下划线)到
website.com/color-red/
(破折号/连字符)
/color-red/ 必须简单地生成 ?c=red
在 .htaccess 中,这与下划线完美结合:
RewriteRule ^color_([^/\.]+)/?$ ?c= [L]
不带破折号:
RewriteRule ^color-([^/\.]+)/?$ ?c= [L]
我认为破折号字符必须转义,但我不知道如何转义。
能否请您尝试以下。请确保在测试您的 URL 之前清除您的浏览器缓存。
第一个解决方案: 要在您的网址中同时处理 _
或 -
,请尝试以下操作。
RewriteEngine ON
RewriteRule ^color[_-]([^/]*)/?$ ?c= [L]
第二个解决方案: 如果您只想处理 URL 中的 -
,请尝试以下操作。
RewriteEngine ON
RewriteRule ^color-([^/]*)/?$ ?c= [L]
一个简单的解决方案是用方括号 [-]
:
-
RewriteRule ^color[-]([^/\.]+)/?$ ?c= [L]