【发布时间】:2017-09-14 20:22:02
【问题描述】:
我有一个网站,它的子文件夹中有一个新闻部分,我一直在手动添加它。
www.example.com/subfolder/news-and-views/name-of-article.php
我最近做了一个相当简单的 CRUD 功能,以使添加这些文章更容易。
我有:
-
www.example.com/subfolder/news-and-views/index.php- 显示所有文章 -
www.example.com/subfolder/news-and-views/article.php- 这需要来自$_GET请求的 Id 参数
当我查看一篇文章时,我最终得到的网址是:
www.example.com/subfolder/news-and-views/article.php?Id=name-of-article
我做了一些阅读并使用http://htaccess.mwl.be/ 来测试 RewriteRule
规则是:RewriteRule /news-and-views/(.+) /news-and-views/article.php?Id=$1.php [L]
但是,当我转到 news-and-vies/(索引页面)时,我的 CSS 被删除,并且在我的路径发生更改时没有显示任何内容。
而且它似乎去 article.phpid?= 没有传递任何东西,而不仅仅是使用实际的索引页面。
为了设置路径,我使用了一个名为$path2root 的变量,它是根目录的数量。
例如$path2root = "../../";
所以:我有include $path2root . "includes/head.php"
我的 RewriteRule 是否干扰了这个变量?
我的 .htaccess 文件
RewriteEngine On
RewriteRule /news-and-views/(.+) /news-and-views/article.php?Id=$1.php [L]
我的文件结构
/ .htaccess at this level (root)
--/ subfolder
----/ news-and-views
------/ index of news and views
【问题讨论】:
-
这个
.htaccess文件在哪里? substitution 字符串中的/subfolder发生了什么?请包含您的整个.htaccess文件。 -
好的,我会添加额外的细节
标签: php .htaccess mod-rewrite