0

我正在编写一个应用程序,该应用程序需要托管在已经使用现有应用程序的服务器上。normal url 'www.site.org.au' 显示一个普通的网页,然后还有两个子域 app.site.org.au 和 test.site.org.au,用于我们的应用程序和测试服务器。

我正在本地 xampp 服务器上开发此应用程序,但我希望能够在子域上开发此应用程序,以便在应用程序上线时,希望不会有太多的混乱和混乱。

为此,我有以下 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 Internal Server Error

子域仅与单个应用程序相关,并且还需要能够使用其中的任何控制器。

那么,我在这里做错了什么?

编辑:错误日志为每个请求显示以下行

[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.
4

1 回答 1

0

你的错误是你;在第二条规则的条件下有一个流浪者:

RewriteCond $1 !^(index\.php|images|robots\.text|css|js);
# this is the culprit screwing everything up------------^

摆脱它,因为有了它,如果您没有;正确的 after index.php,则该条件将成立,而您没有。因此它会/index.php/index.php永远重写。

于 2013-10-28T23:15:11.253 回答