【发布时间】:2013-01-06 09:08:20
【问题描述】:
我在我的网站中编辑了 所有 url,一个 example 是下面的一个(它不必在 calipers 目录下)(下划线的数量也是不固定)
.com/Calipers/Insize_1108_1_2
到
.com/Calipers/Insize-1108-1-2
所以网址中只更改了 1 个字符,我应该如何修改我的 .htaccess ?
目前我的 htaccess 不包含除了我的 cms 默认设置以外的任何内容,如下所示。
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
编辑:这是我尝试过的,但没有成功。
RewriteRule ^([^/]+)[_]([^/]+)$ $1-$2 [R=301,L]
【问题讨论】:
-
¿您的 .htaccess 文件现在怎么样了?了解正在修改的内容会有所帮助。
-
@bukfixart 我正在努力学习正则表达式,但一开始需要一些经验才能正确编写它,所以我正在寻求帮助。
-
@FelipeAlamedaA 我已经编辑了问题
-
我认为你的重写规则应该是这样的
RewriteRule ^_([^_]+)_([^_]+)_([^_]+)$ Calipers/Insize-$1-$2-$3 [R=301,L]。我只是修改了正则表达式,但没有测试它。 -
@FelipeAlamedaA,下划线的个数不知道,还有目录。