【问题标题】:.htacces Appears only html with no CSS or PHP.htaccess 只显示没有 CSS 或 PHP 的 html
【发布时间】:2013-07-17 22:18:52
【问题描述】:

我一直在网上想知道如何使用 htacces(真的很难学)。而当我潜伏在互联网上时,我发现了这个:http://www.generateit.net/mod-rewrite/

好吧,我插入了我的网址(在本地主机上工作):
empresa.com/index.php?p=sub_artigo&id=1&cat=Mercearia

它给了我这个(默认所有选项):
http://empresa.com/sub_artigo/5/Mercearia.html

.htacces 代码是这样的:
RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /index.php?p=$1&id=$2&cat=$3 [L]

当我在 php 中生成 url 时,我会这样做

<a href=\"sub_artigo/".$response2['ID_sub_artigo']."/".$response2['url'].".html\">$response2[nome_sub_artigo]</a>

然后,当我单击按钮时,它看起来就像只有 html。 例如:http://s14.postimg.org/wr137fx4x/htacces_error.jpg

知道发生了什么吗?

【问题讨论】:

    标签: php html css .htaccess


    【解决方案1】:

    您似乎正在为您的资产(图像、javascript、css)使用相对链接。

    这意味着当你从新的url中寻找css/my_stylesheet.css时,浏览器会请求一个类似http://empresa.com/sub_artigo/5/css/my_stylesheet.css的url。

    最简单的解决方案是始终为您的资产使用绝对网址,例如 /css/my_stylesheet.css 等。

    【讨论】:

    • 只是一件小事。当我点击不同的链接时,为什么它们会在 url 中累积?
    • @Sashka 当前页面的 url 用作基本 url,一旦您使用相对链接,它就会被添加到该 url。如果您使用绝对 url,则只添加域,只需将鼠标悬停在页面上的任何链接上,然后在浏览器的状态栏中检查完整的 url。
    【解决方案2】:

    您的 PHP 代码正在输出样式表的相对路径。

    例子:

    <link rel="stylesheet" type="text/css" href="styles.css">
    

    给定您的示例输入 URL,这会导致浏览器在以下 URL 处查找样式表:

    http://empresa.com/sub_artigo/5/styles.css
    

    这是因为浏览器不知道 URL 已被重写 - 它认为它正在查看一个实际上并不存在的子目录中的文件。

    您应该使用绝对路径,例如:

    <link rel="stylesheet" type="text/css" href="/styles.css">
    

    注意到路径上的前导/ 了吗?这将告诉浏览器从域的根目录中查找:

    http://empresa.com/styles.css
    

    通过这种方式,您仍然可以将您的 HTML 与协议和域/端口分离(因此您不会绑定到 http://empresa.com),但无论用于访问引用的 URL 是什么,路径都将始终相同页面。

    【讨论】:

      【解决方案3】:

      试试这个代码:

      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ /empresa.com/index.php?p=$1&id=$2&cat=$3 [L]
      

      【讨论】:

      • 还是一样,没变。
      • 这不太可能是问题,因为 css 文件(和其他资产)没有 .html 扩展名。
      • 是的,你的答案是对的。此外,我经常遇到同样的问题。
      猜你喜欢
      • 1970-01-01
      • 2015-01-28
      • 2021-01-15
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多