条件规则htaccess

时间:2009-06-26 09:22:34

标签: .htaccess mod-rewrite conditional

目前,我的.htaccess文件看起来像htis:

IndexIgnore */*
RewriteEngine on
RewriteRule ^add /add.php
RewriteRule ^add/$ add.php
RewriteRule ^sitemap.xml /xmlsitemap.php
RewriteRule ^([^/\.]+)$ /index.php?slug=$1
RewriteRule ^([^/\.]+)/$ /index.php?slug=$1

它适用于链接:site.com/category /

然而,我想在site.com/之后完整的slu ..这样我就可以重定向site.com/category1/subcategory2/subsubcategory3等。一个类别中可能存在未知数量的子类别。

我尝试使用request_uri,但实际上并没有成功。

怎么做?非常感谢!

2 个答案:

答案 0 :(得分:1)

编辑:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* slug.php?%{QUERY_STRING} [L]

这会将URL传递给slug.php

答案 1 :(得分:0)

好的,明白了。它很简单:删除^ /。来自正则表达式。我只是觉得这意味着它必须停在任何/ :)但是...... thx!它现在有效! :)