2013-02-02 72 views
-1

我有2个目录,我想重命名而不会丢失我的搜索排名。这里是URL惯例,并建议更改名称:htaccess帮助重命名目录

老:mysitename.com/folder1/folder2/filenames

新:mysitename.com/newfoldername1/newfoldername2/filenames

文件名是每个页面的指定名称

+0

你尝试过这么远吗?请张贴您尝试过的并且有问题的规则。 (。*) –

+0

RewriteEngine叙述上 重写规则^/folder1中/文件夹2 /(.*)$ $ 1/newfoldername1/newfoldername2/$ 2 R,L] – dBiz

回答

1

RewriteRule ^(.*)/folder1/folder2/(.*)$ $1/newfoldername1/newfoldername2/$2 [R,L]

这个规则的问题是,快退riteRules只在路径上匹配,而不是域。您在规则的前面有(.*)/,就好像您尝试匹配域一样,这不是必需的。你也将它设置为重定向而不是重写...也许这就是你想要的,在这种情况下,保持“R”标志像你一样,但我会删除它在下面的代码中,以防万一你只是想要重写。修改规则如下,它应该工作:

RewriteRule ^newfoldername1/newfoldername2/(.*)$ /folder1/folder2/$1

编辑:现在你已经发布的其他规则,我删除了[L]扭转了为了什么,我认为你正在试图做的。

编辑2:上述规则假设您要输入domain.com/newfoldername1/newfoldername2/whatever的用户被默默地重写为domain.com/folder1/folder2/whatever。您的最新评论的表述反而表示您希望输入domain.com/folder1/folder2/whatever的用户重定向(换句话说,将其浏览器中的地址更改为)domain.com/newfoldername1/newfoldername2/whatever,并且服务器已准备好处理此新路径。在这种情况下,下面的规则要求:

RewriteRule ^folder1/folder2(/.*)?$ /newfoldername1/newfoldername2$1 [R = 301,L]

+0

这是完整的文件: #BEGIN WordPress的 RewriteEngine叙述在 RewriteBase/ 重写规则^指数\ $ .PHP! - [L] 的RewriteCond%{} REQUEST_FILENAME -f 的RewriteCond%{} REQUEST_FILENAME -d 重写规则。的index.php [L] 1 重写规则^问题/问题/(.*)$ /奥古斯塔/ GA/$ [L] #END WordPress的 仍然没有工作 – dBiz

+0

我刚刚添加到您的问题(等待批准)......您应该将这样的细节添加到更容易阅读的问题中。 –

+0

当你说“这是完整的文件”......我看不到我提供的规则。你说你说它不起作用的地方是哪里?规则顺序非常重要。我提供的规则必须超越其他规则。另外,现在我看到了其他规则,我已经编辑了我的答案,省略了“[L]'”,这会阻止后续的规则。 –