使用htaccess更改动态网址时遇到问题

时间:2019-04-30 00:20:57

标签: php .htaccess

我在更改此字符串时遇到问题:

https://www.lagaleramagazine.es/agenda/2019-04-29/

因此,当用户单击时,它将重定向到:

https://www.lagaleramagazine.es/agenda/foto/?tribe-bar-date=2019-04-29

所以可变部分是:

旧网址:

https://www.lagaleramagazine.es/agenda/VARIABLE_STRING/

新网址:

https://www.lagaleramagazine.es/agenda/foto/?tribe-bar-date=VARIABLE_STRING

我尝试过:

RewriteRule ^agenda/([^/]*)$ agenda/foto/?tribe-bar-date=$1 [L]

那:

RewriteRule ^agenda\/(.*)\/$ /agenda/foto/?tribe-bar-date=$1 [L]

但是没有用。

PD:只能是DATE VARIABLE STRING(年月日),因为任何变量字符串都会引起问题,因为还有其他字符串,例如https://www.lagaleramagazine.es/agenda/concurso-de-fotografia-afe/我不想重定向。 / p>

1 个答案:

答案 0 :(得分:0)

([^/]*)$将不匹配,因为它希望“不是(^)斜杠/的所有内容,直到最后一个字符$为止,因为该网址带有斜杠最后,它放弃了整个比赛。第二个比赛本来应该起作用,但是并不确定它接受什么。

您可能正在寻找的重写规则是

RewriteRule ^agenda/([0-9]{4}-[0-9]{2}-[0-9]{2})/$ agenda/foto/?tribe-bar-date=$1 [L]

这与agenda/2019-04-29/匹配,但与agenda/concurso-de-fotografia-afe/不匹配。