我对本地机器上的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
现在我有了我的apache配置重写规则:
<VirtualHost *:80>
ServerAdmin webmaster@xxx.at
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>
是否可以为这件事轻拍一些光?
他正在尝试的是xxx / catdev / sc / eprocure / ajax / ArticleSearch / SearchEngine / GetInitialData
注意xxx是来自我的开发服务器的手动owerwriten doman,并且ips被阻止了。答案 0 :(得分:0)
该死的。
我是一个debian“功能”
我在debian发行版上工作,当你在基本配置中进行重写时,你必须指定整个DIRECTORY路径而不是相对路径。
只需将重写网址设为目录位置而不是网址!
示例是:
您的www文件夹位于
/motherofGod/wtf/www
您的www root在apatche中设置为/motherofGod/wtf/www
您的域名是lols.com
所以文件lols.com/lol/wtf
需要转到/motherofGod/wtf/www/some/crap/handler.php
您必须指定WHOLE路径而不仅仅是www目录~_~
的相对路径