我在.htaccess文件中使用当前的重写规则集
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule lessons/(.*)$ page.php?url=$1
工作正常。现在我有一些旧页面,我想重定向到新页面。我做了以下事情:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule lessons/(.*)$ page.php?url=$1
RewriteRule old/this_url/(.*)$ lessons/to_this_url/and_this_url
但是当我去www.mywebsite.com/old/this_url/another_path
时,它根本就没有做任何事情?
我在重写测试程序中测试了该规则并且它有效。该规则得到了承认。所以不确定,我在现场网站上做错了什么?
答案 0 :(得分:0)
回答我自己的问题。事实上,我意识到有点迟了,我试图做的是将旧网站的内容重定向到新网站。他们生活在相同的域名下,但不住在同一个域名下。一个生活在/(当前一个)下,而老一个生活在/ old /下。因此需要将规则添加到旧网站的.htaccess中。在:
www.root.com/old/.htaccess(这是正确的)
当我尝试编辑它们时:
www.root.com/.htaccess(NO)
这解决了我的问题。