mod_rewrite server.com/directory 到 new.com/directorynew/directory
我正在将所有内容移至新域。如果旧域名的网址为 http://example.com/article/article_title/date/and /etc,我希望它重定向到另一台服务器 http://anotherserver.com/extradir/article/article_title/date/and/etc。
否则,如果请求路径的第一个参数不是“article”,只需更改域名并重定向。
这是我的尝试:
RewriteRule ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 [R=301,L]
RewriteRule ^(.*)$ http://anotherserver.com$1 [R=301,L]
第一个永远不会匹配。第二个工作正常。
它位于 Drupal 上,并放置在 httpd.conf 中 RewriteEngine On 指令的正下方,以避免 Drupal 指令。
这是在 httpd.conf 中而不是 .htaccess 中。
关于为什么顶部 RewriteRule 不起作用的任何想法?
I am moving everything to a new domain. If the old domain's url is http://example.com/article/article_title/date/and/etc, I want it to redirect to another server at http://anotherserver.com/extradir/article/article_title/date/and/etc.
Otherwise, if the first arg of the request path isn't "article" just change the domain name and redirect.
Here's my stab:
RewriteRule ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 [R=301,L]
RewriteRule ^(.*)$ http://anotherserver.com$1 [R=301,L]
The first never matches. The second works fine.
It's on Drupal, and placed just below the RewriteEngine On directive in httpd.conf to avoid the Drupal directives.
This is in httpd.conf NOT .htaccess.
Any ideas on why the top RewriteRule isn't working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不知道为什么你的第一条规则不起作用,如果我将其放入我的虚拟主机配置中,它对我有用。您是否尝试过使用
RedirectMatch
?No idea why your first rule isn't working, it works for me if I put that in my vhost config. Have you tried using
RedirectMatch
?