私のウェブルート(var / www)では、.htaccessファイルに次のものがあります。
RewriteCond %{REQUEST_URI} ^system.*
RewriteCond $1 !^(index\.php|vges|images|robots\.txt)
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /test/index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
次に、codeigniterプロジェクトを含むサブディレクトリ(/ var / www / test)があります。また、次の.htaccessファイルもあります。
RewriteEngine On
RewriteCond $1 !^(index\.php|quiz|vges|buddy|css|fonts|img|images|js|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
ローカルホストにアクセスすると、テストディレクトリを表示できます。テストディレクトリに移動すると、デフォルトのコントローラービューが表示されます。しかし、localhost / test / controllerにアクセスすると、404notfoundエラーが発生します。
The requested URL /index.php/events was not found on this server.
編集:最後の行/var/www/vges.htaccessを次のように変更して解決策を見つけました:
RewriteRule ^(.*)$ test/index.php/$1 [L]
このテストプロジェクトをサブディレクトリではないサーバーにアップロードする場合は、エラーが発生する可能性があります。これに対する最善の解決策は何ですか?.htaccessファイルで何を変更すればよいですか?
- ローカルマシンにサブディレクトリを置くことができます
- それらを個別のプロジェクト(テストプロジェクトなど)としてサーバーにアップロードする場合、.htaccessファイルを変更する必要はありません。
ありがとう。