我继承了一个站点(一个vbulletin论坛)并将其从另一个主机迁移到我的,通过使用scp
命令复制所有内容。根目录有以下内容.htaccess
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content\/" [R=301,L]
我不知道这应该如何工作,但它确实有效,不管该/forums/content/
文件夹不存在。但是,一旦转移到我的主机,它就停止工作,产生 404 错误。由于/forums/content.php
文件存在,所以我编辑了.htaccess
这样的:
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L]
content.php
现在它可以工作了,但有一个小故障:我的浏览器(以及所有其他论坛用户浏览器)正在缓存以前的 301 重定向,因此只有在我清除浏览器缓存(一次)或输入URL时,我才能访问和使用论坛手动(每次)。
我已经尝试了通过添加to来添加重定向 from /forums/content/
to的解决方法:/forums/content.php
RewriteRule
.htaccess
RewriteOptions inherit
RewriteEngine on
RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^/forums/content/$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L]
RewriteRule ^/?$ "http\:\/\/example\.com\/forums\/content.php" [R=301,L]
但是,似乎该规则被忽略了,因为浏览器仍然在/forums/content/
目录上收到 404 错误并且它不会重定向到content.php
. 我究竟做错了什么?