htaccess使用动态子域,协议将301重定向到新的URL

时间:2017-03-28 12:06:16

标签: .htaccess redirect http-status-code-301

我想将旧网址重定向到这样的新网址:

Redirect 301 www.domain.ro/index.php www.domain.ro/

但在我的情况下,我有一个动态子域名,我不知道如何构建该行:

Redirect 301 www.domain.subsdomain.ro/index.php www.domain.subsdomain.ro/

现在,除了子域是动态的,协议也可以是http或https,用户可以输入或不输入www,所以该行看起来像:

Redirect 301 domain.{*}.ro/index.php domain.{*}.ro/

{*} - 匹配点之间每个字母字符的通配符

1 个答案:

答案 0 :(得分:1)

当与源URL相同时,您不会在目标中使用域名。此外,您甚至无法在Redrect指令中使用主要名称。

只需使用mod_rewrite使用此规则即可删除index.php

RewriteEngine On

RewriteCond %{THE_REQUEST} /index\.php[?\s] [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index\.php$ [NC]
RewriteRule ^ %1 [L,R=301,NE]