【问题标题】:Styles and files not working after .htaccess rewrite rule.htaccess 重写规则后样式和文件不起作用
【发布时间】:2016-10-10 18:20:43
【问题描述】:

我刚刚在我的 .htaccess 文件中添加了一个简单的重写规则,以便从此页面中删除 .php http://themeat.in/register.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

但是现在当我访问没有 .php (http://themeat.in/register/) 的页面时,我所有的样式和文件都消失了。当我打开控制台时,我看到页面名称被视为一个文件夹。

这是文件路径应该和重写之前的路径,http://themeat.in/css/styles.css

这就是现在的样子, http://themeat.in/register/css/styles.css

我想这与重写中的斜杠有关,但我完全不知道如何解决这个问题?我需要删除 .php 并且我想保留尾部斜杠。

任何帮助将不胜感激。

非常感谢,

//C

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    这是因为重写了 url。当 url 为 example.com/register/ 时,apache 认为 /register/ 是一个目录,并将其附加到所有相关 url 的前面。

    要解决这个问题,您可以在网页的 head 部分添加以下基本标签:

    <base href="/">
    

    欲了解更多信息,请参阅此帖子:Seo Friendly Url css img js not working

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多