使用htaccess将日期添加到url

时间:2013-01-11 21:37:14

标签: .htaccess url date

我想让htaccess匹配年份,然后动态地重写页面

例如www.website.com/party/2013至www.website.com/events.php?e=party

我试过

Options +FollowSymLinks  
RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteCond %{REQUEST_URI} events
RewriteRule ^(\w+)/%year%$ ./events.php?e=$1

但这不起作用

1 个答案:

答案 0 :(得分:1)

如果您REQUEST_URIevents进行检查,则永远不会匹配,因为这是您的目标网址,而不是您的来源。当前年份为TIME_YEAR而不是year,但TIME_YEAR仅适用于RewriteCond。您的目标网址以点开头,无法使用。

删除RewriteCond %{REQUEST_URI} events。如果要检查当前年份的URL,可以使用RewriteCond指令进行检查。

RewriteCond %{TIME_YEAR}/$2 (....)/\1
RewriteRule /(\w+)/(\d\d\d\d) /events.php?e=$1

RewriteCond针对模式current year/URL year测试(digits)/same digits as backreference。这有点棘手,但它确实有效。