首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将index.html设为默认值,但如果键入,则允许访问index.php

将index.html设为默认值,但如果键入,则允许访问index.php
EN

Stack Overflow用户
提问于 2012-04-04 06:35:14
回答 3查看 167K关注 0票数 58

我的.htaccess文件中有以下行:

代码语言:javascript
复制
DirectoryIndex index.html index.php

每次我去index.php,它都会把我带到index.html。有没有可能两者都允许,但让访问www.domain.com的用户保留index.html的默认设置?

EN

回答 3

Stack Overflow用户

发布于 2015-06-18 03:57:08

如果你使用的是WordPress,现在有一个过滤器钩子来解决这个问题:

代码语言:javascript
复制
remove_filter('template_redirect', 'redirect_canonical'); 

(将其放入主题的functions.php中)

这告诉WordPress不要将index.php重定向回根页面,而是原地踏步。这样,index.html就可以被指定为.htaccess中的默认页面,并且可以与index.php一起使用。

票数 17
EN

Stack Overflow用户

发布于 2017-02-25 17:35:27

我同意@TheAlpha的公认答案,Apache从左到右读取DirectoryIndex目标文件,如果第一个文件存在,apche将为其提供服务,如果不存在,则下一个文件将作为目录的索引。因此,如果您有以下指令:

代码语言:javascript
复制
DirectoryIndex file1.html file2.html

Apache将提供/file.html作为索引,如果您想将/file2.html设置为索引,则需要更改文件的顺序

代码语言:javascript
复制
DirectoryIndex file2.html file1.html

您还可以使用RewriteRule设置索引文件

代码语言:javascript
复制
RewriteEngine on

RewriteRule ^$ /index.html [L]

上面的RewriteRule会将你的主页改写成/index.html。改写会在内部发生,所以http://example.com/会向你显示内容ofindex.html。

票数 6
EN

Stack Overflow用户

发布于 2012-04-10 19:51:16

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php%{QUERY_STRING} [L]

将这两行放在.htaccess文件的顶部。它将在.php页面的URL中显示.html。

代码语言:javascript
复制
RewriteEngine on
RewriteRule ^(.*)\.php$ $1.html%{QUERY_STRING} [L]

使用此选项在.html页面的URL中显示.php。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10002439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档