3

どういうわけか、私たちのほとんどが.htaccessで問題を抱えていると思います.誰かが私を助けることができるかどうか知りたいです. Opensuse 12.3 : コード:

Linux linux-hyo0.site 3.7.10-1.16-desktop #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba) x86_64 x86_64 x86_64 GNU/Linux

自分のマシンに Cakephp をインストールしたいのですが、Web ページに「コード: URL 書き換えがサーバーで適切に構成されていません 」というエラーが表示されます。

私の/ etc/sysconfig/apache2ファイルは次のとおりです:コード:

APACHE_MODULES="authz_host actions alias auth_basic authz_groupfile authn_file authz_user autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imagemap php5 reqtimeout authz_default rewrite"

そして /etc/apache2/sysconfig.d/loadmodule.conf の最後のコード:

LoadModule rewrite_module                 /usr/lib64/apache2/mod_rewrite.so

ファイル etc/apache2/defaul-server.conf も変更しました

<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>
<Directory "/srv/www/htdocs">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride ALL
    Order Allow,Deny
    Allow from all
</Directory>

何か助けはありますか?

app/webroot で

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

そしてアプリで/

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

7 に答える 7

6

これはかなり古い質問ですが、この回答は Google ユーザーに関連している可能性があります。

View/Layouts/default.ctp を変更しましたか?

これは、この警告で何が起こるかです:

  • 警告は View/Pages/home.ctp の div に設定されています
  • home.ctp では、ファイル app/webroot/css/cake.generic.css が存在する場合にのみ警告を設定します
  • 標準の default.ctp レイアウトでは、スタイルシート /css/cake.generic.css が読み込まれます
  • Cake.generic.css では、警告のある div は.... 非表示です!!!

では、デフォルトのホームページが読み込まれるとどうなるでしょうか。それは、mod_rewrite が正しく設定されている場合に成功する、cake.generic.css スタイル シートを読み込もうとします。そのため、警告は隠されています。スタイル シートの読み込みに失敗した場合、警告は表示されたままになります。

この警告は、要するに、mod_rewrite と htaccess に問題があるか、レイアウトを変更して Cake.generic.css が読み込まれなくなった場合に表示されます ...

まず、スタイルシートを読み込もうとしているかどうかを確認してください。F12 コンソールに表示されますか?

于 2014-05-21T09:37:42.920 に答える
2

何時間もかけて問題を突き止めようとした後、.htaccess ファイルが最初から存在しないことがわかりました。次のコードを新しい .htaccess ファイルにコピーしました。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$ app/webroot/    [L]
    RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>
于 2014-10-14T12:33:49.570 に答える
1

Cakephp の新規インストール後にこのエラーが発生し、ファイル (css ファイルまたは cake.generic.css) を変更していない場合は、次の手順を実行します。

  1. 須藤a2enmodの書き換え
  2. sudo サービス apache2 再起動
  3. sudo nano /etc/apache2/sites-available/000-default.conf
  4. 「DocumentRoot /var/www/html」を探し、そのすぐ下に次の行を追加します。
  5. sudo サービス apache2 再起動
于 2014-10-01T08:59:09.497 に答える