htaccess 句柄从 index.php 重定向到 index.html
htaccess handle redirects to index.html from index.php
我的网站结构如下:
/
|
folder1
|
index.php
index.html
默认打开 index.php 但如果用户未登录,我会打开:
header('Location: '.$domain.'/folder1/index.html');
exit;
这适用于任何文件夹,但对于 folder1,我还有一个 .htaccess(位于站点的根目录)来处理 index.php 上的一些逻辑。
.htaccess 如下:
RewriteEngine on
RewriteBase /
RewriteRule \.(php)$ - [L]
RewriteRule ^folder1/([^/]+)/?$ folder1/index.php?source= [L]
我需要帮助来添加一条规则,这样如果我请求 index.html 它就可以得到服务而不会造成不便。
否则现在 access.log returns:
10.211.55.2 - - [14/Jan/2021:20:15:50 +0100] "GET /folder1/index.html HTTP/1.1" 302 589 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0"
并保持一个以 firefox 结束的无限循环说“此站点未正确重定向”。
对于未应用 .htaccess 的任何其他文件夹 access.log 显示正确的行为:
10.211.55.2 - - [14/Jan/2021:21:30:52 +0100] "GET /folder2/ HTTP/1.1" 302 4230 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0"
并且浏览器正确显示 index.html
如何修复 .htaccess 以处理从 index.php 到 index.html 的重定向?
RewriteRule \.(php)$ - [L]
您可以添加另一个例外,就像您对 .php
文件所做的那样。例如,在上面的规则之后,但是 before 你重写为 index.php
:
RewriteRule ^folder1/index\.html$ - [L]
任何对 /folder1/index.html
的请求都不会继续,因此不会被后面的指令重写为 index.php
(因此不会发生重定向)。
我的网站结构如下:
/
|
folder1
|
index.php
index.html
默认打开 index.php 但如果用户未登录,我会打开:
header('Location: '.$domain.'/folder1/index.html');
exit;
这适用于任何文件夹,但对于 folder1,我还有一个 .htaccess(位于站点的根目录)来处理 index.php 上的一些逻辑。 .htaccess 如下:
RewriteEngine on
RewriteBase /
RewriteRule \.(php)$ - [L]
RewriteRule ^folder1/([^/]+)/?$ folder1/index.php?source= [L]
我需要帮助来添加一条规则,这样如果我请求 index.html 它就可以得到服务而不会造成不便。 否则现在 access.log returns:
10.211.55.2 - - [14/Jan/2021:20:15:50 +0100] "GET /folder1/index.html HTTP/1.1" 302 589 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0"
并保持一个以 firefox 结束的无限循环说“此站点未正确重定向”。
对于未应用 .htaccess 的任何其他文件夹 access.log 显示正确的行为:
10.211.55.2 - - [14/Jan/2021:21:30:52 +0100] "GET /folder2/ HTTP/1.1" 302 4230 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0"
并且浏览器正确显示 index.html
如何修复 .htaccess 以处理从 index.php 到 index.html 的重定向?
RewriteRule \.(php)$ - [L]
您可以添加另一个例外,就像您对 .php
文件所做的那样。例如,在上面的规则之后,但是 before 你重写为 index.php
:
RewriteRule ^folder1/index\.html$ - [L]
任何对 /folder1/index.html
的请求都不会继续,因此不会被后面的指令重写为 index.php
(因此不会发生重定向)。