2013-06-21 79 views
1

我试图创建一个modrewrite规则将改变的特定部分:简单modrewrite删除路径

/blah/correct/xyz.htm

/correct/xyz.htm

没有总是/blah但是当它在那里,它总是出现在URL的开头。该URL可以是任意长度的,具有多个子路径。它甚至可能是/blah/myfile.htm(它应该重写为/myfile.htm)。

这样做的最好方法是什么?

回答

1

启用mod_rewrite的,并通过httpd.conf的.htaccess,然后把这个代码在你.htaccessDOCUMENT_ROOT目录:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,NC] 

这会在内部转发/blah/foo/foo/blah/correct/foo/correct/foo。如果你想外部重写,然后使用:

RewriteRule (?:^|/)blah(/.+)$ /$1 [L,R=301,NC] 
+0

现在检查编辑答案。 – anubhava

+0

辉煌 - 完美的作品。谢谢! – Eric

+1

不客气,很高兴它解决了。 – anubhava