1

我正在使用 PHP 5 开发一个托管在 apache 服务器上的应用程序。

域上已经运行了一个网站:www.domain.com。我的应用程序位于名为“hotsite”的文件夹中,可以通过 URL www.domain.com/hotsite/ 访问它。

根文件夹包含一个 .htaccess,其中包含:

/.ht 访问:

XBitHack      Off
RewriteEngine On
RewriteCond   %{REQUEST_URI} \/([0-9a-z]{6})$ [NC]
RewriteRule   ^(.*) http://www.domain.com/url/forward.php?%1 [L]
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName www.domain.com
AuthUserFile /home/intera/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/intera/public_html/_vti_pvt/service.grp
RedirectMatch permanent ^/webmail$ http://http://mail.google.com/hosted/domain.com www.domain.com/hotsite/

在这个 'hotsite' 文件夹中,有一个 .htaccess 文件,其中包含以下代码:

/hotsite/.htaccess:

RewriteEngine on
RewriteBase /
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /folder/index.php

现在,当我访问 www.domain.com/hotsite/ 时,我的应用程序加载正常。但是当我尝试访问 www.domain.com/hotsite/section/ 时,它似乎忽略了 .htaccess 文件并尝试访问“部分”,就好像它是一个文件夹一样,返回 404 错误。

任何想法为什么会发生这种情况,我应该怎么做才能让它发挥作用?

谢谢 =)

4

1 回答 1

1

如果 htaccess 在hotsite文件夹内,则RewriteBase /需要RewriteBase /hotsite

以防万一; 请注意,重写规则,重写为/folder/index.php,而不是/hotsite/folder/index.php

于 2012-12-11T19:40:49.600 回答