.htaccess rewrite / dir / sub to / dir

时间:2012-05-07 17:27:33

标签: apache .htaccess mod-rewrite

我在/ directory /子目录中有文件,我希望它向用户显示它们位于/目录中。

这是我目前在.htaccess文件中的内容(返回500错误):

RewriteEngine on
RewriteRule ^directory/(.*) directory/subdirectory/$1 [NC,L]

我知道如果我的文件位于根www目录中,则rewritebase可以完成此操作,但我不能为此项目执行此操作。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要在重写行的末尾添加[NC,L]。 NC表示此规则不区分大小写,L表示Last,即引擎停止处理规则的位置。

有关详细信息,请访问ModRewrite cheatsheet

答案 1 :(得分:0)

使用此规则:

RewriteRule (?!^directory(/.*|)$)^(directory)/(.*)$ $1/subdirectory/$2 [NC,L]