如何设置 .htaccess 和 mod_rewrite 以永久重定向到不包括根索引页面的新域?

Posted

技术标签:

【中文标题】如何设置 .htaccess 和 mod_rewrite 以永久重定向到不包括根索引页面的新域?【英文标题】:How do I setup .htaccess and mod_rewrite to permanently redirect to a new domain excluding the root index page? 【发布时间】:2011-06-16 06:50:26 【问题描述】:

尝试设置 .htaccess 和 mod_rewrite 以切换到新域。

当前使用(来自旧域):

重写引擎开启 RewriteRule ^(.*)$ [domain.com] [R=301,L]

所以.. olddomain.com/abc -- domain.com/abc

不过,我还想要一项功能,但似乎无法使用。我希望旧站点中的每个文件都重定向到新站点,除非有人访问 www.olddomain.com,然后我希望它显示 olddomain.com/index.php 文件。

【问题讨论】:

【参考方案1】:

您是否尝试过在重写之前使用无重定向规则来捕捉它? (我不确定该正则表达式是否需要是 ^$ 或 ^/$)

RewriteRule ^$ - [L] 
RewriteRule ^(.*)$ [domain.com] [R=301,L]

【讨论】:

以上是关于如何设置 .htaccess 和 mod_rewrite 以永久重定向到不包括根索引页面的新域?的主要内容,如果未能解决你的问题,请参考以下文章

通过 .htaccess 设置过期标头和压缩数据

如何通过 .htaccess 设置 PHP 包含路径?

如何仅使用 .htaccess 文件设置 ssl

如何通过htaccess设置默认网站页面?

如何仅在 HTTPS 上从 .htaccess 设置 HSTS 标头 [关闭]

如何借助 .htaccess 设置在 HTML 文件中使用 PHP7 代码