1

CI 2.0 では、何らかの理由で URL が機能しません。

http://localhost/myapp/ - will open the default controller (bc it finds index.php)
http://localhost/myapp/index.php/home/ - will open the default controller 
http://localhost/myapp/home/ - will show path not found

これが 2.0 の問題なのか、それとも私の設定の問題なのかはわかりません。

Mac OS X Snow Leopard で Apache 2 を実行しています。

.htaccess ソリューションを探しましたが、CI 2.0 のソリューションが見つかりませんでした。

4

6 に答える 6

4

このようにcodeigniterを処理するためにApacheに書き換えルールがありますか? 参照: http://codeigniter.com/wiki/mod_rewrite/

  • 最初のものはデフォルトで機能します (デフォルトは index.php です)。
  • index.phpに渡すので、数秒で機能します
  • 3番目は、書き換えルールなしではうまくいきません。
于 2010-09-17T20:54:07.833 に答える
3

本当の問題は、Snow Leopardでは、通常/private/etc/apache2/httpd.confにある実際のディレクトリ構成が/private/etc/apache2/users/[USERNAME].confにあることでした。デフォルトでは、FollowSymlinksとAllowOverrideが無効になっています。通常のhttpd.confで有効になっている場合でも、手動で修正する必要があります。

トリッキー。みんなありがとう。そうでなければ、人々がすでに指摘しているように、必要なのは通常の.htaccessだけです。

于 2010-09-18T16:43:41.577 に答える
1

.htaccessCodeIgniter 1.7 のソリューションは、CodeIgniter 2.0 でも機能します。 .htaccessCodeIgniter から独立した Apache ウェブサーバーを設定するために使用されます。

(したがって、 CodeIgniter マニュアルの推奨構成は正常に動作するはずです。)

于 2010-09-17T20:53:20.813 に答える
0
$ sudo sudo chgrp staff /Library/WebServer/Documents/
$ sudo chmod 775 /Library/WebServer/Documents/

その後、すべてのアプリは/ Library / WebServer /Documents/フォルダーの下に配置されます。

「テスト」のように

/ Library / WebServer / Documents / tests

$ echo "Hello World" >> /Library/WebServer/Documents/testing/index.php
http://localhost/testing 
==> it should appear Hello World

これで、フォルダ'/ Library / WebServer / Documents /'の下に、追加する必要のあるCIフォルダを配置します。

.htaccess 

RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.+)$ index.php?$1 [L]
AddHandler php5-script .php

CI_Folder / application/config.php上

$config['index_page'] = '';

そして、私はそれがすべてだと思います!楽しみ!

于 2011-08-18T23:20:25.773 に答える
0

ここで見つけることができます。「index.php ファイルの削除」ヘッダーの下にあります。

index.php ファイルの削除

デフォルトでは、index.php ファイルが URL に含まれます。

example.com/index.php/news/article/my_article .htaccess ファイルといくつかの簡単なルールを使用して、このファイルを簡単に削除できます。指定されたアイテムを除くすべてがリダイレクトされる「ネガティブ」メソッドを使用した、そのようなファイルの例を次に示します。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

上記の例では、index.php、images、および robots.txt に対するもの以外の HTTP リクエストは、index.php ファイルに対するリクエストとして扱われます。

于 2013-08-07T04:55:41.850 に答える