我需要帮助创建一些.htaccess
规则。目前我有这个:
RewriteEngine On
Redirect 404 /favicon.ico
#Check if request was made for RSS feed
RewriteCond %{REQUEST_URI} ^(.+)/events($|/) [NC,OR]
RewriteCond %{REQUEST_URI} ^(.+)/tickers($|/) [NC]
RewriteRule ^(.*)$ rss.php/?$1 [L]
我需要什么:
events
也可以是tickers
答案 0 :(得分:1)
不应查询REQUEST_URI
,而应在RewriteRule
本身处理。它实际上是一个相当简单的匹配模式,建议使用[^/]+
将第一个/
的所有字符捕获到$1
。如果该组不存在,则不会进行重写。要在第一个events
之后允许tickers
或/
,请使用(events|tickers)
。
RewriteEngine On
RewriteRule ^([^/]+)/(events|tickers) rss.php/?$1 [L,NC]
没有必要匹配$
或尾部斜杠,因为您没有在重写的URL中使用它们。如果您执行需要匹配它,以便在URL为/something/events/somethingelse
时不重写,只需使用/?$
作为可选的尾部斜杠和字符串的结尾
RewriteRule ^([^/]+)/(events|tickers)/?$ rss.php/?$1 [L,NC]
答案 1 :(得分:0)
您可以尝试在最后添加一个条件来重写/ events / to / events /并查看它是否会覆盖上一个匹配。