我通过FTP服务器运行网站。
我要修改这个由其他人制作的网站。
我想要做的是将网站移至子域archive.domain.com
。
我将所有文件复制到名为archive/
的子文件夹中,所有功能似乎都有效。
但是,当我访问http://archive.example.com/some_page
时,它会自动重定向到http://www.example.com/archive/some_page
,这不是我想要的。
我希望域名始终显示为archive.example.com
。
因为如果我点击网页上的相对超链接,它会被重定向到根目录。比如,如果我点击/other_page
,则会转到http://www.example.com/other_page
,而不是http://archive.example.com/other_page
。
我该怎么做?
我当前的.htaccess
文件看起来像这样。
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteRule ^some_page$ /some_page/ [R]
RewriteRule ^some_page/$ ./some_page.php
非常感谢!
答案 0 :(得分:0)
首先,您的.htaccess文件也应该存在于归档目录中。 其次,归档目录中的.htaccess文件应调整为读取
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.archive\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.archive.example.com/$1 [L,R=301]
RewriteRule ^some_page$ /some_page/ [R]
RewriteRule ^some_page/$ ./some_page.php
或者只删除这2行
RewriteCond %{HTTP_HOST} !^www\.archive\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.archive.example.com/$1 [L,R=301]