我正在编写一个应用程序,该应用程序需要托管在已使用现有应用程序的服务器上。普通网址'www.site.org.au'显示正常网页, 对于我们的应用程序和测试服务器,还有两个子域app.site.org.au和test.site.org.au。
我正在本地xampp服务器上开发这个应用程序,但我希望能够在子域上开发这个应用程序,以便在应用程序生效时,希望不会有太多的混乱和搞砸。 / p>
为此,我有以下https-vshost.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test"
ServerName test.localhost.com
</VirtualHost>
同样我已添加到我的主机文件
127.0.0.1 test.localhost.com
可以看出,我已经在htdoc文件夹中设置了目录,这样当我访问test.localhost.com时,我将页面加载到htdocs中的test文件夹中。
我有.htaccess文件,如下所示
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.example.com$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-_]+).example.com [NC]
RewriteRule (.*) /index.php/controller/function/%2 [P]
RewriteCond $1 !^(index\.php|images|robots\.text|css|js);
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
目前访问test.localhost.com会给我一个500内部服务器错误
子域只适用于单个应用程序,而hense也需要能够使用其中的任何控制器。
所以,我在这里做错了什么?
编辑: 错误日志为每个请求显示以下行
[Tue Oct 29 08:55:10.044889 2013] [core:error] [pid 5884:tid 1652] [client 127.0.0.1:52811] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Tue Oct 29 08:55:10.044889 2013] [core:error] [pid 5884:tid 1652] [client 127.0.0.1:52811] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
答案 0 :(得分:0)
您的错误是您的第二条规则条件中有一个迷路;
:
RewriteCond $1 !^(index\.php|images|robots\.text|css|js);
# this is the culprit screwing everything up------------^
摆脱它,因为有了它,如果你;
之后没有index.php
,你就不会这样做。因此它会永远重写为/index.php/index.php
。