在mod_rewrite中创建一个默认变量

时间:2009-10-15 03:21:30

标签: .htaccess mod-rewrite

我有mod_rewrite取这个网址:

mydomain.com/directory/index.php?slug=slug&year=2009

并使其漂亮:

mydomain.com/directory/slug/2009/

很简单,但现在我的问题是,如果有人在没有附加年份的情况下登陆网址(例如:mydomain.com/directory/slug/),我该如何将当前年份添加到网址?

我当前的htaccess内容为:

RewriteEngine on
RewriteRule ^([^/\.]+)/([^/\.]+)?$ /directory/$1/$2/ [R]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /directory/index.php?slug=$1&year=$2 [L]

1 个答案:

答案 0 :(得分:2)

尝试使用服务器变量:

RewriteRule ^([^/\.]+)/?$ /directory/$1/%{TIME_YEAR}/ [R]

如果我没有犯错,这应该重定向url:

mydomain.com/directory/slug/

为:

mydomain.com/directory/slug/2009/

(另外2个半月;))

我认为您现在该做什么,如果您不想在网址末尾重定向或/,那么

我在类似的情况下试过这个,这很好。

哦,您可以在mod_rewrite documentation中找到服务器变量列表。我不确定这是否会一直有效。