【问题标题】:PHP Files/Directories - .htaccessPHP 文件/目录 - .htaccess
【发布时间】:2013-07-08 19:54:08
【问题描述】:

好吧,这就是我网站的根目录的样子:

  • 资产
    • CSS
    • js
    • img
  • .htaccess
  • index.php
  • page1.php
  • page2.php
  • page3.php
  • style.css

我当前的 .htaccess 文件的工作原理是它从我想要的页面中隐藏了 .php。所以我可以从http://example.com/page2 访问它。但问题是如果我去http://example.com/page2/ 你可以看到没有任何 CSS 的原始代码。我想要么将用户重定向到其他地方,要么让它正确显示,无论是否有“/”。

将其设为目录不是一种选择。它必须是根目录下的 PHP 文件。

当前 .htaccess 文件:

重写引擎开启 RewriteCond %{REQUEST_FILENAME}.php -f 重写条件 %{REQUEST_URI} !/$ 重写规则 (.*) $1\.php [L]

【问题讨论】:

  • 所有这些看起来都是错误的。您可能会治愈症状而不是病例 - 例如相对路径与绝对路径。
  • 您能否发布一个指向您的某个 css 文件的链接示例?
  • 链接到 CSS 文件 =
  • 给出的重写规则明确排除了以/结尾的URL; /page2/ 肯定会显示page2.php,还是其他一些内容? CSS 无法正确显示的原因是 href="style.css" 表示“当前 URL 目录中名为 'style.css' 的文件;对于浏览器来说,该目录是 http://example.com/page2/ 而不是 @987654328 @,因为它不知道重写规则。您只需要使用相对于域根目录的路径:href="/style.css"

标签: apache .htaccess mod-rewrite


【解决方案1】:

将您的 css 链接更改为绝对 URL(以 / 开头)或将其添加到页面标题:

<base href="/">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 2011-09-11
    • 2014-10-24
    • 2019-04-01
    相关资源
    最近更新 更多