1

PHP 5 を使用して Apache サーバーでホストされるアプリケーションを開発しています。

ドメインで既に実行されている Web サイトがあります: www.domain.com。私のアプリケーションは「hotsite」というフォルダにあり、URL 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 エラーが返されます。

なぜこれが起こっているのか、それを機能させるにはどうすればよいですか?

ありがとう =)

4

1 に答える 1

1

htaccess がフォルダー内にある場合はhotsiteRewriteBase /RewriteBase /hotsite

念のため; rewriterule は に書き換えて/folder/index.php、そうではないことに注意してください/hotsite/folder/index.php

于 2012-12-11T19:40:49.600 に答える