2009-09-13 107 views
1

使用.htaccess文件和mod_rewrite的我有一个目录坐落在一个域中的网站:在目录(非根)

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引擎。

回答

1

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

1

变化RewriteBase至/site/而不是/

+0

我试过了......它不起作用。 我需要: http://www.example.com/site/css/ 去 http://www.example.com/site/loader.php – Calvin

+0

也请记住,我的.htaccess文件必须位于/ site目录中...感谢您的帮助! – Calvin

+0

然后尝试从请求uri regexp中删除^,因为^记录从根开始的url。尝试使用^网站/ css – Eimantas

0

不要改变基本URL(去掉RewriteBase指令),并且在替换使用相对路径:

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

这对我来说也不适用... – Calvin

+0

@Calvin L:你测试你的规则是什么URL? – Gumbo