我刚刚重做了我的网站,并正在尝试进行一些重写以将 URL 更改为新结构。我大部分时间都在那里,多亏了一些友好的支持人员,但我知道他们不应该处理这些问题,所以我希望我能在这里找到最后一块拼图。
我想做四件事。
- 将空格转换为下划线。
- 通过将“(2003)”等内容更改为“- 2003”来去掉括号。
- 更改 html 调用的结构。
- 强制重定向,以便搜索引擎获得新地址。
现在,这就是我所拥有的:
RewriteEngine On
Rewritecond %{HTTP_HOST} ^(desktopscenes.com|www.desktopscenes.com)$ [nc]
RewriteRule ^(.*)\s(.*)$ $1_$2 [N]
RewriteRule ^(.*)\((.*)$ $1-_$2
RewriteRule ^(.*)\)(.*)$ $1$2
RewriteRule ^(.*)slides/(.*)\.html$ /$1index.htm#$2.jpg [NE,R=301]
一切正常,除了指向 jpg 文件的链接,它们在内部正确重定向,但我找不到在地址栏上显示正确新地址的方法。
例如,这个旧网址:
http://www.desktopscenes.com/Scenes from Big Sky Country (2003)/slides/First Montana Sunset.jpg
在以下位置正确显示图像:
http://www.desktopscenes.com/Scenes_from_Big_Sky_Country_-_2003/slides/First_Montana_Sunset.jpg
但是浏览器栏没有显示新地址,我相信这也意味着搜索引擎没有收到新地址的通知。
我尝试使用“R = 301”“重定向到同一地址”,但失败了,可能是因为循环。我不确定还有什么可以尝试的,有什么想法吗?