我有一个Apache2 RewriteCond
指令,它将所有URL重定向到我站点上的子目录,除了一长串异常。
规则如下:(长字符串已替换为foo|bar|baz
)
RewriteCond %{REQUEST_URI} !^/(foo|bar|baz) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subdir/$1 [QSA,L]
正则表达式匹配所有不以/foo
,/bar
,/baz
开头的路径,并将其重定向到/subdir/path/request
。
例如:
/foo/page => /foo/page
/bar/page => /bar/page
...
/not_foo/page => /subdir/not_foo/page
/not_bar/page => /subdir/not_bar/page
...
我想要做的是以编程方式获取此异常列表,以减少代码复制(可能使用PHP的getEnv('VAR')
)。我尝试了很多不同的选择,但我无法让它发挥作用。
我的想法是使用RewriteRule
与[E=ENV:values]
,但我无法完全理解如何实现这一目标。
感谢您的帮助!
答案 0 :(得分:0)
file_get_contents('.htaccess');
怎么样?您可以从那里解析文件以获得您要查找的内容。