在目录(不是root)中使用.htaccess和mod_rewrite

时间:2009-09-13 12:50:32

标签: apache mod-rewrite url-rewriting

我有一个位于域名目录中的网站:

http://www.example.com/site/

我在.htaccess中也有一个/site/文件,它有几个重写规则。如果所有文件(包括。htaccess文件)都位于域的顶层,则这些规则有效:例如,在www.example.com上。

我的.htaccess文件看起来像这样:

RewriteEngine On
RewriteBase /

RewriteRule ^css/loader/\d+/([^/]+)(\?(.*))?$  /loader.php?t=css&c=$1

我需要规则在目录中工作,但我似乎无法弄明白,有人可以帮忙吗?

编辑:想通了,服务器在Apache 1.2+上使用POSIX正则表达式引擎而不是Apache2中的PCRE引擎。

3 个答案:

答案 0 :(得分:1)

将RewriteBase更改为/site/而不是/

答案 1 :(得分:1)

编辑:想通了,服务器在Apache 1.2+上使用POSIX正则表达式引擎而不是Apache2中的PCRE引擎。

答案 2 :(得分:0)

请勿更改基本网址(删除RewriteBase指令)并在替换中使用相对路径:

RewriteRule ^css/loader/\d+/([^/]+)$  loader.php?t=css&c=$1