【问题标题】:Remove file name after htaccess redirecthtaccess 重定向后删除文件名
【发布时间】:2016-06-08 20:52:42
【问题描述】:

我需要暂时显示一个静态 HTML 文件来代替我们现有的主页文件。例如,而不是主页加载这个:

http://sitename.com/

我已经设置为加载这个:

http://sitename.com/filename.html

仅适用于具有以下规则的主页:

RewriteBase /
RewriteRule ^$ /filename.html [L,R]

但是,当这个页面为我们的主页加载时,我想在浏览器地址栏中显示这个:

http://sitename.com/

我需要在规则中添加什么来隐藏主页 URL 的文件名?谢谢!


更新解决方案:对于 WordPress 用户

虽然以下答案确实符合我们的要求,但我们发现当我们使用 DirectoryIndex 时,我们无法再登录 WordPress 网站的后端。我们的解决方案最终在 .htaccess 文件中位于 WordPress 块上方:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^$ /special-ali-funeral.html [QSA,L]
</IfModule>

【问题讨论】:

  • 您需要执行R=301 来强制进行客户端重定向。否则,它只是一个纯内部 apache-only 更改,并且永远不会对客户端可见。
  • 谢谢克里斯85。不敢相信我错过了。想为我回答问题以便我接受吗?

标签: wordpress .htaccess redirect mod-rewrite


【解决方案1】:

您要查找的指令是DirectoryIndex。这将在请求根时加载您指定的任何文件。

例如

http://www.example.com/

DirectoryIndex filename.html

在你的配置中会加载

http://www.example.com/filename.html

在后台。

【讨论】:

    【解决方案2】:

    你不需要重写,使用具有相对索引路径的 DirectoryIndex 指令

    DirectoryIndex filename.html
    

    这将在内部将您的主页重定向到 /filename.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-24
      • 1970-01-01
      • 2020-10-10
      • 2017-04-30
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      相关资源
      最近更新 更多