【问题标题】:Apache Rewrite to add html extensionApache Rewrite 添加 html 扩展
【发布时间】:2013-01-17 22:30:19
【问题描述】:

我正在尝试让 apache RewriteRule 获取 url 并返回 url + .html

例如:“www.domain.com/about”应该为页面“www.domain.com/about.html”提供服务

我已经尝试过 SO 的多种解决方案,但我相信由于网站布局,存在一些复杂性。

我在 Network Solutions 上托管,所以它是共享托管,这是一个开发站点,所以我目前将 dev.domain.com 指向 /htdocs/dev

目录结构

-htdocs
--(contains existing sites files)
--.htaccess

----dev
------(contains dev site files)
------.htaccess

所以你可以看到有一个现有的 .htaccess 文件可能在做某事并且可能存在子域问题,我不完全确定,这是我第一次使用 Apache。

这是我现有的 .htaccess,它位于 /htdocs/dev 文件夹中

RewriteEngine On
RewriteBase /dev
RewriteCond %{REQUEST_URI}.html -f [NC]
RewriteRule ^ %{REQUEST_URI}.html [L]

感谢您的帮助!

【问题讨论】:

  • 你试过RewriteBase /吗?
  • 是的,我试过 RewriteBase / 无济于事

标签: apache mod-rewrite


【解决方案1】:

您正在指示 Apache 进行文件检查 (-f),但它不知道在哪里查找。换个方式

RewriteCond %{REQUEST_URI}.html -f [NC]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.html -f [NC]

这样,Apache 就有了来自文件系统根目录的完全限定路径。

【讨论】:

  • 所以我真的认为这会奏效,并且我之前尝试过一些类似的东西,但它仍然给了我404
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-23
  • 2011-08-10
  • 2013-03-13
相关资源
最近更新 更多