我正在使用PHP 5开发一个托管在apache服务器上的应用程序。
域名上已经有一个网站:www.domain.com。我的应用程序位于名为“hotsite”的文件夹中,可以通过网址访问www.domain.com/hotsite/.
根文件夹包含一个包含以下内容的.htaccess:
/ htaccess的:
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文件并尝试访问“section”,就像它是一个文件夹一样,返回404错误。
任何想法为什么会发生这种情况,我该怎么做才能使它发挥作用?
谢谢=)
答案 0 :(得分:1)
如果htaccess位于hotsite
文件夹内,则RewriteBase /
必须为RewriteBase /hotsite
以防万一;请注意,重写文件会重写为/folder/index.php
,而不是/hotsite/folder/index.php