Apache .htaccess如果搜索词前面有字符串,则重定向
我需要帮助创建一些Apache .htaccess如果搜索词前面有字符串,则重定向,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我需要帮助创建一些.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]
.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]
我需要的是:
- 如果URL类似于:domain.com/events/,请不要重定向
- 如果URL类似于:domain.com/[anything]/events/,请执行内部重定向
也可以是事件
标记
请求URI
,这应该在重写规则
本身中处理。它实际上是一个非常简单的匹配模式,建议使用[^/]+
将第一个/
之前的所有字符捕获到$1
中。如果该组不存在,则不会进行重写。要在第一个/
之后允许事件或标记
,请使用(事件标记)
无需匹配$
或尾随斜杠,因为在重写的URL中未使用它们。如果确实需要匹配它,以便在URL为/something/events/somethingelse
时不重写,只需使用/?$
作为可选的尾部斜杠和字符串结尾
RewriteRule ^([^/]+)/(events|tickers)/?$ rss.php/?$1 [L,NC]
与其查询REQUEST\u URI
,不如在RewriteRule
本身中进行处理。它实际上是一个非常简单的匹配模式,建议使用[^/]+
将第一个/
之前的所有字符捕获到$1
中。如果该组不存在,则不会进行重写。要在第一个/
之后允许事件或标记
,请使用(事件标记)
无需匹配$
或尾随斜杠,因为在重写的URL中未使用它们。如果确实需要匹配它,以便在URL为/something/events/somethingelse
时不重写,只需使用/?$
作为可选的尾部斜杠和字符串结尾
RewriteRule ^([^/]+)/(events|tickers)/?$ rss.php/?$1 [L,NC]
稍微修改一下(我忘了提到我还需要捕获事件| tickers
),您的解决方案就成功了。谢谢。稍微修改一下(我忘了提到我还需要捕获事件| tickers
),您的解决方案就成功了。非常感谢。