2014-02-27 52 views
1

我试图创建一个重写规则,并在几天内挣扎。仅在特定条件下重写URL

我的情况应该是这样的,即如果在authorbio只有一个字后找到的网址,然后保持它原样。用于所有剩余的条件下,它应该删除authorbio/

的条件2 & 3在下面的例子是通用的,可以很容易地完成,但是它应该随着条件#1示例中完成

实施例:

  • 这应该保持原样:

    /mainblog/authorbio/AUTHORNAME

    应改为

    /mainblog/authorbio/AUTHORNAME

  • WHERE因为这应当REMOVE AUTHORBIO从URL

    /mainblog/authorbio/someblog/blogarticle

    应改为

    /mainblog/someblog/blogarticle

  • 也是这应该删除AUTHORBIO从URL

    /mainblog/authorbio/

    应改为

    /mainblog

回答

1

将这个规则在/mainblog/.htaccess

RewriteEngine On 
RewriteBase /mainblog/ 

RewriteRule ^authorbio/?$ /mainblog/ [NC,L,R] 

RewriteRule ^authorbio/([^/]+/.+)$ $1 [NC,L,R] 
+0

谢谢。我已经将这添加到现有.htaccess规则的底部,并重新启动了apache,它甚至无法满足任何条件。 FYI :::使用WordPress的MU设置与清漆作为缓存技术。在清漆中,我已经在使用一个重写,即将/ authors更换为/ mainblog/authorbio。所以任何对/ authors/somename的请求都会通过/mainblog/authorbio/somename来进行wordpress验证。通过打印请求URL来验证这一点。.... –

+1

将它们放在您现有的**规则之前。 – anubhava

+0

U ARE GENUNA !!!!像火花一样工作! –