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

htaccess Redirect 301 to new url with dynamic subdomain,protocol

我想像这样将旧 url 重定向到新 url:

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 或不输入 www,所以该行看起来像:

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

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

当目标与源相同时,您不必在目标中使用域名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]