2016-12-02 26 views
0

后续问题添加到底部!重写我的htaccess的故障

我在我的索引页上运行了一堆php代码来检查GET值,但我很难弄清楚如何重写URL。

我要重写我的网址形成这样的: www.domain.com?topic=courses &标题= coursetitle &章= CHAPTERTITLE 嗯,我想在技术上它看起来是这样的,对不对?: www.domain。 ?COM/index.php的话题=课程&标题= coursetitle &章= CHAPTERTITLE

这样: www.domain.com/courses/coursetitle/chaptertitle

换句话说,我有多个GET值,我希望每个都能在之后显示斜线,但没有显示index.php。那有意义吗?如果我不善于解释它,我很难受。另外,如果你有时间来解释代码的每个部分都做了什么,所以我不只是最终复制粘贴它,而是实际了解正在发生的事情,这将是appriciated。


后续问题

我有我的网页上4个不同的主题,让使用颜色例如名称(红,蓝,绿,黄)。

主题“红色”有一个子类别,可以说这称为“色相”,而“色相”本身具有“饱和度”子类别。

让我们给“色相”值8,和“饱和度” 3的值。现在网址看起来应该是这样的: www.domain.com/red/8/3

从改写: www.domain.com/index.php?topic=red &色调= 8 &饱和度= 3

这是所有罚款和花花公子,你在评论中提供的代码确实是对我来说。

现在,让我们的“蓝色”主题也有一些子类别。让我们说,“黑暗”为2的值,并保持在一个子类为简单起见,现在

,如果我去: www.domain.com/blue/2

如何确保它知道我的第二个GET值应该是$ _GET ['darkness'],而不是像我第一次重写的$ _GET ['hue']所示的那样?

有没有办法查看我的第一个GET值,并从中决定它读取的下一个值是一个还是另一个?

还是我最好为我的4个主题制作真实网页,而不是从我的索引运行所有内容,然后为每个主题创建重写?

回答

1

这应该为你做的伎俩:

RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?topic=$1&title=$2&chapter=$3 [L] 
+1

仍然有后缀'。在它的HTML。有这样的代替:'([^ /] *)$ /index.php?'只是为了消除这一点。 – Lag

+1

哦,是的,哎呀,我错过了。将编辑代码感谢。 – Adrianopolis

+0

工作像一个魅力,非常感谢。我认为它会比这更先进= P – user2004478