我正在升级我的网站,其中涉及新脚本和不同的网址 结构体。目前有几千页,所以我想 基本上将它们移动到子目录中,以便它们不会丢失。
我对htaccess不是很有信心所以请有人确认一下 我做的第一部分是正确的:
旧网址:http://www.example.com/article/another-dir/page-group/whatever.html
RewriteRule ^article/?$ http://www.example.com/archive/ [R=301,NC,L]
要实现这一目标:http://www.example.com/archive/another-dir/page-group/whatever.html
搜索引擎会将上述内容视为永久移动并位于地址栏中 它会显示新的网址。这是对的吗?
第二部分是新剧本 - 网址可以改进,但我是 无法改变所有脚本所以想到再次使用htaccess但是 不确定是否可以这样实现。
此时网址看起来像这样: 网址:http://www.example.com/category/4/categoryname
在htaccess中,此类网址的当前重写规则如下所示:
RewriteRule ^category/(.*)/(.*)$ category.php?id=$1&slug=$2
是否可以更改此设置,以便在URL地址栏中结束 有了这个: http://www.example.com/categoryname
基本上我不想看到结果中的数字或类别 url因为访问者更容易使用 - 这可能吗?
提前感谢您的帮助。
答案 0 :(得分:0)
第二个问题涉及传递查询字符串重定向的URI组件,然后将这些组件隐藏在URL中我认为使用RewriteRules即使可能也很容易。
对于第一个问题。根据您提到的示例URL,如果要在重定向中保留完整的URL,则RewriteRule需要包括捕获和反向引用。例如:
RewriteRule ^article/?(.*)$ http://www.example.com/archive/$1 [R=301,NC,L]