使用多个重写规则创建友好的URL?

时间:2013-02-07 16:29:30

标签: php .htaccess url-rewriting

RewriteEngine on

RewriteBase /school/courses/more-courses/courses-type/coursedetails/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule [^/]+ index.php [QSA,L]

因此,php用于将/ coursedetails / part替换为课程名称,例如/ school / courses / more-courses / courses-type / cooking /,因此上面的脚本会将不存在的所有内容重定向到index.php。

我想要做的是创建一个友好的URL来映射,例如/ school / courses / more-courses / courses-type / cooking / to / school / courses / cooking /

这可以通过添加额外的重写规则来实现吗?

2 个答案:

答案 0 :(得分:0)

RewriteRule ^/school/courses/more-courses/courses-type/cooking/$ /school/courses/cooking/ [R,L]

答案 1 :(得分:0)

这个怎么样:

RewriteBase ^/school/courses/([a-z\-]+/){1,5}$

这允许您在/school/courses/开始时拥有任何URL,然后在模式folder-name/中拥有任何内容(1-5次)。现在,在您的bootstrap(index.php)中,您可以获取请求URI并相应地处理操作。