用例外重定向所有内容

时间:2017-04-23 04:43:38

标签: .htaccess redirect

我在这里找了很长时间才找到类似的东西,但我无法找到我要找的东西。

我想将一个旧项目废弃项目重定向到一个新项目,它们只是部分相似,我想重定向匹配,然后其他一切,同时删除每个

我想我记得htaccess规则是一个接一个地工作的,所以我可以简单地在重定向上面添加301以外的其他内容,但事实证明这个代码

RewriteEngine On

Redirect 301 /match1.html https://www.domain.tld/match1/
Redirect 301 /match2.html https://www.domain.tld/match2/
Redirect 301 /match3.php&page=6 https://www.domain.tld/match3/?

RewriteBase /
RewriteRule .*? https://www.domain.tld/? [R=301,L]

将所有内容直接重定向到https://www.domain.tld/

旧项目mas完全手动工作450+静态html页面和另外~100个php文件,所以我希望有一个更简单的方法来创建一个巨大的.htaccess来做到这一点。

1 个答案:

答案 0 :(得分:2)

由于您的上一条规则,您的规则会将所有内容重定向到https://www.domain.tld/,并且对于重定向enbloc,您可以使用正则表达式进行匹配尝试使用以下内容,

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)$ https://www.domain.tld/$1/ [R=301,L]

RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+)$ https://www.domain.tld/$1/ [R=301,L]

如果还有其他特定模式,请提供它们,我假设您使用的是根.htaccess或相应目录中的规则。