2009-09-13 72 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