使用mod_rewrite在url中插入一个字符串(有条件地)

时间:2011-09-23 07:05:25

标签: apache .htaccess mod-rewrite

我正在尝试实现这种mod_rewrite:

*如果request_uri不是abc或def *从

更改客户端URL
domain.com/request_uri

到服务器端网址

domain.com/xyz/request_uri

基本上我想要的是在没有用户知情的情况下将字符串插入到网址中,如果他/她没有尝试访问某些预定义的网址。

到目前为止我已经

RewriteCond %{REQUEST_URI} ^/abc$
RewriteRule ^(\w+)/?$ xyz/$1 [L]

但这似乎陷入了一个循环(/ xyz // xyz // xyz ...)

1 个答案:

答案 0 :(得分:0)

添加条件以检查您要添加的组件。您可以使用其他RewriteCond或扩展正则表达式。尝试类似:

RewriteCond %{REQUEST_URI} !^/?(xyz(/.*)|abc|def)/?$
RewriteRule ^(\w+)/?$ xyz/$1 [L]