.htaccess 将旧URL重定向到新URL的重写规则

.htaccess 将旧URL重定向到新URL的重写规则,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我无法编写将旧URL重定向到新URL的重写规则: 旧网址:http://www.hostname.com/hello.php 新网址:http://www.hostname.com/folder1/hello.php 这里hello.php是任何动态名称 RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.hostname\.com$ RewriteRule ^/hello.php$ /folder1/hello.php [L,R=301] Rewr

我无法编写将旧URL重定向到新URL的重写规则:

旧网址:http://www.hostname.com/hello.php

新网址:http://www.hostname.com/folder1/hello.php

这里hello.php是任何动态名称

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.hostname\.com$
RewriteRule ^/hello.php$ /folder1/hello.php [L,R=301]
RewriteCond是为了确保此重写仅发生在特定域名上,如果不相关,请删除 L表示将不处理任何进一步的规则 R=301表示永久移动 如果要重定向多个文件名,可以更改“重写规则”行以匹配多个名称:

RewriteRule ^/(hello|goodbye|welcome).php$ /folder1/$1.php [L,R=301]

这里$1是括号中的第一个子模式,如果有更多,他们将得到后面的数字-$2、$3等等

谢谢你的回答。如果hello.php是动态文件,你能帮我一下吗?你说的“动态文件”是什么意思?如果您有多个文件名,可以编写RewriteRule^/hello |再见| welcome.php$/folder1/$1.php[L,R=301]动态意味着hello.php可以是任何文件,我们将不提供详细信息。Hello.php将由codeSo动态调用。因此,服务器根目录中的任何php文件都应重定向到folder1/?实际上,文件名模式将是-google.com、yahoo.com,但这是参数,并在.htaccess中处理