这是我第一次尝试使用 .htaccess 文件创建干净的 URL。
我的页面是一个简单的、由 php 生成的页面。
我的页面是http://www.dimiourgiasite.gr
在页面的左上角,我有一个链接,指向http://www.dimiourgiasite.gr/arxiki
要重定向,我使用这个 .htaccess 文件:
RewriteEngine On
RewriteRule ^arxiki$ index.php
RewriteRule ^arxiki/$ index.php
据我所知,无论我访问 dimiourgiasite.gr/arxiki 还是 dimiourgiasite.gr/arxiki/,我都应该得到相同的页面。但事实并非如此。
有什么解释/我做错了什么吗?
抱歉,我没有发布链接并让您输入地址,但由于我的声誉只有 3,因此该网站将每个帖子的超链接数量限制为 2 个。
答案1
重写和页面都运行良好。问题是,如果末尾有斜杠,你的浏览器会尝试抓取样式表不存在来自/arxiki/views/style.css
。如果没有尾部斜杠,则样式表来自/views/style.css
。
如果您将源代码中的样式表链接更改为/views/style.css
而不是views/style.css
,则样式将被正确应用。
您可能已经从 Apache 错误日志中识别出这一点,因为您会看到很多“文件未找到”错误抱怨/arxiki/views/style.css
。
您还可以将两个重写规则合并为一个,如下所示:
RewriteRule ^arxiki/?$ index.php
问号的意思是“前面的字符0个或1个”。