如何重写任何不以目录开头的uri到该目录?

时间:2012-03-17 21:46:55

标签: mod-rewrite

我想设置一个重写规则,以便将任何请求转发到特定的uri,除非请求以该uri开头。

例如,http://myhost/anything应重定向到http://myhost/mydirectory 但是http://myhost/mydirectory/mysubdirectory/myfile不应该被触及(即它应该返回http://myhost/mydirectory/mysubdirectory/myfile

我尝试了各种各样的东西,google和堆栈溢出搜索但没有成功......

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/mydirectory/
RewriteRule .* /mydirectory/ [R]

帮助赞赏:)

更新:根据以下评论,我已修复此问题。我实际上有两种重写规则的方法,两者似乎都有效。我不知道其中一个或另一个是否是首选方法。

RewriteCond %{REQUEST_URI} !^/mydirectory/
RewriteRule .* /mydirectory/ [R]

RewriteRule ^/mydirectory/.* - [L]
RewriteRule .* /mydirectory/ [R]

0 个答案:

没有答案