【问题标题】:default to index.html but allow user to type to index.php and get the php page默认为 index.html 但允许用户键入 index.php 并获取 php 页面
【发布时间】:2013-05-13 12:39:16
【问题描述】:

我正忙着为客户建立一个 Wordpress 网站。我已经离线开发了该站点,现在想将其上传到实时服务器,以向客户展示我到目前为止所做的事情。我想在浏览网站时将我创建的“建设中”html 页面保留为默认页面,但如果您输入 www.sitename.com/index.php,我希望显示实际网站。

我不想使用“正在建设”的插件,因为我不希望用户必须输入任何形式的用户名或密码才能访问该网站。

我已经尝试过:DirectoryIndex index.htm 但是当我浏览到 index.php 时,它会将我转回 index.htm 页面。

我看过这里: Make index.html default, but allow index.php to be visited if typed in 但除非我错过了它,否则没有真正的结论。

我的开发机器运行带有 XAMPP 的 Windows 8。

【问题讨论】:

  • 你为什么不把你的预览放在一个目录里?
  • 您链接到的问题似乎解决了它(这是他们放置的顺序,只需阅读答案)。哪一部分不适合你?
  • @BenjaminGruenbaum,我尝试了接受的答案,但是当我请求 index.php 时,我只是简单地返回 index.html
  • @kingkero,我希望能够在网站准备好上线时删除 html 文件,之后不必重定向或移动网站。

标签: php html .htaccess


【解决方案1】:

在你的.htaccess文件中使用这个来将用户在输入域名时重定向到index.html,如果他特别输入index.php,他将能够进入那个页面

RewriteRule ^$ index.html [R=301,L]

【讨论】:

  • 谢谢外星人先生。我尝试添加您建议的行,但我仍然得到相同的结果。我以前从未使用过 .htaccess 文件,所以我不太确定我做得对。下面是 index.php 文件的样子: # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d重写规则。 /index.php [L] # END WordPress 我试过用你的建议替换第一个 RewiteRule,我试过把它放在 Wordpress 部分之前,也可以单独使用。
  • @robhob 您需要将该行放在您的.htaccess 文件中
  • 如果我使用你的代码:RewriteRule ^$ index.html [R=301,L] index.php 会自动加载,然后如果我输入 index.html 我会得到 html 页面。问题是,我需要它以相反的方式工作 - 我需要它默认为 html 页面,并且只有在明确输入时才进入 php。
  • @robhob 您的 htaccess 是否包含一些规则,例如目录索引?
  • 我在 .htaccess 文件中只有你的一行代码:RewriteRule ^$ index.html [R=301,L] 我是否正确地假设我不需要每次编辑此文件时都重新启动 Apache?
猜你喜欢
  • 2012-04-17
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 2015-02-19
  • 2013-03-24
  • 2014-05-04
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多