网址改变,求救RewriteRule 正则表达式

liuwanguang 2013-03-19 02:05:31
因为之前网址感觉不够规范,所以重新调整了URL,但是没想到,百度提交删除网址好久了,现在收录还是以前网址,为了不影响客户访问,现在想把旧的URL批量重定向到新的URL,
旧格式如下:http://www.songhuala.com/p1099/北京礼品/China_flowers_info.html
新格式如下:http://www.songhuala.com/-p-1099.html

我在.htaccess 中做了如下重定向,

RewriteEngine on
RewriteCond %{REQUEST_URI} ^p/d+\/.*\/China_flowers_info\.html$
RewriteRule ^(.*)$ ^-p-/d+\.html$1 [R=301,L]

但怎么也定向不到正确新URL来,希望朋友们能帮忙指点下,我测试一个下午,还是没改好这个正则表达式。请各位看官不吝赐教。感激不尽。
...全文
442 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ustb 2013-03-20
  • 打赏
  • 举报
回复
RewriteCond %{REQUEST_URI} ^p/d+\/.*\/China_flowers_info\.html$ RewriteRule ^(.*)$ ^-p-/d+\.html$1 [R=301,L] 标红部分似乎有误
liuwanguang 2013-03-20
  • 打赏
  • 举报
回复
引用 2 楼 Anew_G 的回复:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} p(\d+) RewriteRule p(\d+) http://www.songhuala.com/-p-$1.html [R=permanent,L]
恩,这个我看应该可以的,因为弄好了,我没测试。不过还让我了解还有这样的写法。
liuwanguang 2013-03-20
  • 打赏
  • 举报
回复
引用 1 楼 ustb 的回复:
RewriteCond %{REQUEST_URI} ^p/d+\/.*\/China_flowers_info\.html$ RewriteRule ^(.*)$ ^-p-/d+\.html$1 [R=301,L] 标红部分似乎有误
是的,的确,刚学,着急也没留意,,后面问人也发现错了。
liuwanguang 2013-03-20
  • 打赏
  • 举报
回复
昨天很着急,一直没答复,今天看到大家回复真是非常感谢。 后面通过问朋友介绍,问到idreamsoft.com 枯木,解决了, 下面是可以完成完成重定向的。 RewriteEngine on RewriteRule ^(.*)?p(\d+).*?\.html$ -p-$2\.html [R=301,L]
Anew_G 2013-03-20
  • 打赏
  • 举报
回复
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} p(\d+) RewriteRule p(\d+) http://www.songhuala.com/-p-$1.html [R=permanent,L]

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧