2013-05-21 151 views
0

我會在我的本地計算機上的reqrite規則堅果重寫......使用相對路徑

我甚至能改寫日誌,這是我從它應該重寫URL中的單個頁面加載得到:

ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (2) init rewrite engine with requested uri /catdev/sc/eprocure/ajax/ArticleSearch/SearchEngine/GetInitialData 
ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (3) applying pattern '^/catdev/sc/eprocure/ajax/(.+)/(\w+)/(\w+?)$' to uri '/catdev/sc/eprocure/ajax/ArticleSearch/SearchEng$ 
ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (2) rewrite '/catdev/sc/eprocure/ajax/ArticleSearch/SearchEngine/GetInitialData' -> '/catdev/sc/eprocure/ajax/handler.php?pa$ 
ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (3) split uri=/catdev/sc/eprocure/ajax/handler.php?path=ArticleSearch&class=SearchEngine&method=GetInitialData -> uri=/catde$ 
ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (2) local path result: /catdev/sc/eprocure/ajax/handler.php 
ip - - [21/May/2013:08:13:18 +0200] [scxx/sid#7f6580ce32b8][rid#7f65810069e0/initial] (1) go-ahead with /catdev/sc/eprocure/ajax/handler.php [OK] 

找到正確的路徑,但它仍然沒有加載它應該的頁面。我不知道爲什麼!

錯誤日誌告訴我這個。

[Tue May 21 08:13:18 2013] [error] [client xxx.xxx.xxx.xx] File does not exist: /catdev/sc/eprocure 

現在我有theese重寫規則我我的Apache配置:

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     ServerName xxx 
     DocumentRoot /data1/www/somewherefarbeyond/ssl-htdocs 

     <Directory /data1/www/somewherefarbeyond/ssl-htdocs/> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       allow from all 
     </Directory> 

     ErrorLog /data1/www/somewherefarbeyond/logs/error.log 

     # Possible values include: debug, info, notice, warn, error, crit, 
     # alert, emerg. 
     LogLevel warn 

     CustomLog /data1/www/somewherefarbeyond/logs/access.log combined 


     RewriteEngine On 
     RewriteRule ^/catdev/sc/eprocure/ajax/(.+)/(\w+)/(\w+?)$  /catdev/sc/eprocure/ajax/handler.php?path=$1&class=$2&method=$3 [L] 
     RewriteLog /data1/www/somewherefarbeyond/logs/accessREWRITE.log 
     RewriteLogLevel 9 

</VirtualHost> 

能有人爲粉碎一些輕到這件事情?

他的URL我嘗試演XXX/catdev/SC/eprocure/AJAX/ArticleSearch /的搜索引擎/ GetInitialData

注XXX是從我的開發服務器和IPS手owerwriten杜曼的obscurified到。

+0

Strangly當我添加重定向URL爲絕對URL它被重定向。但外部,而不是內心黯然Q_Q ...任何人有任何想法爲什麼? – Sangoku

回答

0

上帝該死的。

Iw的是Debian的「功能」

我在Debian發行版的工作,並有一些奇怪的原因,當你在你指定的整個目錄路徑而不是相對路徑的基本配置進行重寫。

只要重寫URL的目錄位置不是URL!

例子是:

您的www文件夾是在

/motherofGod/wtf/www 

您的www根設置爲/motherofGod/wtf/www在apatche

您的域名是lols.com

因此文件lols.com/lol/wtf

需要t O操作上/motherofGod/wtf/www/some/crap/handler.php

OU必須指定整個路徑不只是從www目錄的相對路徑〜_〜