RewriteRule-用于选择字符串的正则表达式
问题描述:
对不起,问题的标题不好。RewriteRule-用于选择字符串的正则表达式
我的问题是,我想在以下3种URL模式只
localhost/abc
localhost/def
localhost/xyz
换人进行内部重写为:
localhost/stackoverflow/abc
localhost/stackoverflow/def
localhost/stackoverflow/xyz
我试着写一个正则表达式的任何字符串 - ^(。*)$。该重写规则低于
RewriteRule ^(.*)$ /stackoverflow/$1
但在无限循环和运行搜索的网址
localhost/stackoverflow/abc/abc/abc/abc...
我想一个正则表达式将检测到3串唯一的任何一个 - >“ABC”, “高清”,“XYZ”,那么这将得到追加到最终网址
答
正确的方法来检测只有那些字符串是它们放在一个OR
组(abc|def|xyz)
:
RewriteEngine On
RewriteRule ^(abc|def|xyz)$ stackoverflow/$1 [L]
你尝试被扔进了重写循环,因为(.*)
比赛一切,包括stackoverlfow
。在OR
组之前^
确保它只在URI的开始处匹配。
谢谢迈克尔。这工作:) – Bhuvan 2013-03-13 16:50:38