-1

我试图让 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

但这不起作用

4

1 回答 1

1

如果您检查,它将永远不会匹配,因为这是您的目标 URL 而不是您的源REQUEST_URIevents当前年份是TIME_YEAR和不是year,但TIME_YEAR仅在 a 中可用RewriteCond。您的目标 URL 以点开头,这不起作用。

放下RewriteCond %{REQUEST_URI} events。如果要根据当前年份检查 URL,可以在RewriteCond指令中执行此操作。

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

RewriteCondcurrent year/URL year针对模式进行测试(digits)/same digits as backreference。这有点棘手,但它有效。

于 2013-01-11T22:36:26.553 回答