gpt4 book ai didi

apache - 如何 htaccess 将 index.html 重定向到 index.php 并将 index.php 重定向到/

转载 作者:行者123 更新时间:2023-12-02 05:05:26 28 4
gpt4 key购买 nike

我最近将我的 index.html 更改为 index.php - 我希望能够进行重定向以反射(reflect)这一点,然后还进行重写以强制 foo.com/index.php 成为 foo.com/和让它访问 .php 文件。

我还有一个单独的站点,即位于 foo.com 下子目录中的 bar.com,我希望它不受影响。

这就是我所拥有的,它导致了一个重定向循环:

RedirectMatch 301 ^/index.html?$ /index.php
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

有没有办法做到这一点?谢谢!

最佳答案

RedirectMatch指令匹配采用 / 的内部重定向之后请求并将其重定向到 /index.html ,然后它再次通过 URL 文件映射管道,从而匹配您的重定向指令。

您可以尝试包括:

DirectoryIndex index.php

以防止这种自动内部重定向。您还应该使用 %{THE_REQUEST}index.html 匹配文件就像你正在做的一样 index.php :

Options +FollowSymLinks
DirectoryIndex index.php

RewriteEngine on

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
RewriteRule ^(.*)index\.html$ /$1index.php [R=301,L]

或者你可以完全绕过 index.php:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.html\ HTTP/
RewriteRule ^(.*)index\.html$ /$1 [R=301,L]

关于apache - 如何 htaccess 将 index.html 重定向到 index.php 并将 index.php 重定向到/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347200/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com