2

Web サイトのサブフォルダーでアプリケーションを開発したところ、問題なく動作しました。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|swf|uploads|js|css|robots\.txt)
RewriteRule ^(.*)$ /app/index.php/$1 [L]
</IfModule>

このファイルは正常に機能していたため、アプリケーション内をナビゲートするために index.php は必要ありませんでした。アプリケーションを Web サイトのルートに移動し、最後の行を次のように変更します。

RewriteRule ^(.*)$ index.php/$1 [L]

内部サーバー エラー 500 が発生し始めました。これが私が行ったことなのか、それとも .htacces を別の方法で構成する必要があるのか​​わかりません。ホストの問題かもしれませんが、最初にオプションを使い果たしたいと思います。

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1

1

ホスティングのルートにいる場合は、必要なだけです

 <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|images|swf|uploads|js|css|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    </IfModule>

必要なフォルダーにサイトを作成/fooする場合:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /foo
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond $1 !^(index\.php|images|swf|uploads|js|css|robots\.txt)
    RewriteRule ^(.*)$ /foo/index.php/$1 [L]
    </IfModule>

それでもうまくいかない場合は、これを試してください。私にとっては、すべてうまくいきます:

RewriteEngine On
RewriteBase /foo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /foo/index.php/$1 [L]
于 2013-04-06T12:40:15.010 に答える