2011-10-17 12 views
0

私は私のプロジェクトの1のために私のLAMP EnvironmentCakePHP 1.3を使用して、どのようなURLのための私のウェブサイトのパス問題について、突然私にショックを受けています。このように来てCakePHPのウェブサイトのパスのアクセスの問題

その:

http://localhost/project/app/webroot/index.php/mydocuments/ 

現在のところ、正しくは次のようになっています。

しかし、私は本当にこのパスの問題を引き起こすためにどのような設定が変更されたのかわかりません。

CakePHPが提供する3つのデフォルトの.htaccessファイルは、自分のフォルダ構造のように1つのhtaccessファイルがルートフォルダー(アプリケーションフォルダー外)にあり、1つのhtaccessファイルがappフォルダーに、もう1つがapp /ここに記載されていますが、それでもそのパスは問題です。

答えて

3

あなたはApacheを使用していて、Apacheのdocrootはapp/webrootフォルダを指しています。

Apacheでこの作業を行うには、Webルートディレクトリに.htaccessファイルが必要です。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

Apacheのドキュメントルートは、アプリのルートである場合(推奨されません)アプリのルートでは、このような別の.htaccessファイルが必要です。

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

・ホープ、このことができます!

+0

回答ありがとうございますが、私は3つのデフォルトの.htaccessファイルをルートフォルダ(アプリケーションフォルダ外)に、1つのhtaccessファイルをアプリケーションフォルダに、もう1つをapp/webrootフォルダにここではまだ道のりが問題です。 –

1

私はwrdevosが言っていることをもう一度言います。 AllowOverrideのなしにほとんどのシステム、それをデフォルトで

<Directory "/var/www/html"> 
    AllowOverride All 
    # Other options should follow... 
</Directory> 

:その上で、また、あなたのDocumentRootディレクトリディレクティブの下で(あなたのApacheの設定で)オプションAllowOverrideのは、次のように、すべてに設定されていることを確認してください.htaccessファイルはまったく実行できません。

+0

あなたの答えはありがたいですが、私の質問は - 今までうまくいきましたが、昨日のパスが変更されて以来、私の.htaccessファイルには全く変更がありません..今まで私はallowoverrideを.htaccessファイルにも言及していませんでした。どこでこれについて言及する必要がありますか? –

+0

書き換えモジュールがまだ実行されていますか? apachectl -t -D DUMP_MODULESを実行して、rewrite_moduleが概要に含まれているかどうかを確認してください。 – Oldskool