我的网站指向GoDaddy上webroot上的子目录(/ mywebsite / mywebsitesfolder)。显然,根据我的研究,如果.htaccess文件位于GoDaddy上webroot的子文件夹中,则无法在其中使用301重定向。我尝试了很多不同的事情。我的自定义ErrorDocument语句可以工作,并在我的域所指向的特定子文件夹中显示错误文档。除了将我的网站完全移出GoDaddy并移至Bluehost之外,我还应该怎么做才能使这项工作有效?
rewriteengine on
redirect 301 /oldfile.html http://mynewsite/newfile.php
ErrorDocument 404 /.errordocs/404-missing.php
答案 0 :(得分:0)
我在这里回答自己的问题,但它的工作原理是这样的。为了成功完成指向GoDaddy上子文件夹的域的301重定向,您必须将完整的文件路径放在希望服务器查找旧文件的位置。我感到困惑是因为我的旧站点位于另一个文件夹中,并且我告诉它查找该旧文件夹,而不是指向域指向的新文件夹。因此,我的代码实际上看起来像这样,而不是上面的问题。
redirect 301 /mywebsitesfolder/oldfile.html http://www.newsite.com/newfile.html
无论根目录下有多少个子文件夹,都必须放置整个文件路径。就我而言,我的重定向现在看起来像这样:
redirect 301 /mywebsitesfolder/mywebsitesnewfolder/oldfile.html http://www.newsite.com/newfile.html