2

こんにちは、私は Zend Framework の初心者で、どうやらそれを機能させることができないようです。

localhost にアクセスしようとすると、ブラウザから 403 禁止されたアクセス エラーがスローされます。これが私の仮想ホストファイルです:

  NameVirtualHost *:80
<VirtualHost *:80>
    ServerName zf2-tutorial.localhost
    DocumentRoot /var/www/html/zf2-tutorial/public
    SetEnv APPLICATION_ENV "development"
    <Directory /var/www/html/zf2-tutorial/public>
        Options +Indexes +FollowSymLinks +ExecCGI
    DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

そして、私の htacces ファイルは /var/www/html/zf2-tutorial/ の zend アプリケーション フォルダー内の public ディレクトリにあります。

RewriteEngine On
# The following rule tells Apache that if the requested filename
# exists, simply serve it.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
# The following rewrites all other queries to index.php. The 
# condition ensures that if you are using Apache aliases to do
# mass virtual hosting, the base path will be prepended to 
# allow proper resolution of the index.php file; it will work
# in non-aliased environments as well, providing a safe, one-size 
# fits all solution.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]

また、そのディレクトリのすべてのファイルに対して 775 のアクセス許可を持っています。ただし、apache error_log は別の方法で考えているようです:

[Thu Mar 14 12:15:48.751980 2013] [core:crit] [pid 5755] (13)Permission denied: [client 127.0.0.1:60849] AH00529: /var/www/html/zf2-tutorial/public/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/html/zf2-tutorial/public/' is executable

最後に、htaccess の読み取りを許可するために、httpd.conf に FileInfo を設定しました。

それで、ここで何が起こっているかの手がかりはありますか?ありがとう!

更新: /var/www/html/zf2-tutorial/public フォルダーのファイル リストとそのアクセス許可を投稿します。

total 28
drwxrwxr-x. 5 gerard root 4096 mar 14 14:01 .
drwxr-xr-x. 7 gerard root 4096 mar 14 11:20 ..
drwxrwxr-x. 2 gerard root 4096 ene 31 17:19 css
-rwxrwxr-x. 1 gerard root  711 mar 14 12:25 .htaccess
drwxrwxr-x. 2 gerard root 4096 ene 31 17:19 images
-rwxrwxr-x. 1 gerard root  303 ene 31 17:19 index.php
drwxrwxr-x. 2 gerard root 4096 ene 31 17:19 js
4

4 に答える 4

1

仮想ホストのセットアップで、追加したことを確認します

     Require all granted

DocumentRoot パスが正しいことと、Xampp ユーザー向けに次のようなものが含まれていることも確認してください。

DocumentRoot "C:/xampp/htdocs/zf2-tutorial/public"

アクセスを有効にする

于 2016-02-18T12:53:31.627 に答える
0

問題は解決しました。これらのファイルへのアクセスを禁止しているのはSELinuxだったので、bashで推奨されていることを実行しました。

1. /sbin/restorecon -v /var/www/html/zf2-tutorial/public/.htaccess 
2. setsebool -P httpd_read_user_content 1

しかし今、私はもっと深刻な問題を抱えています!ブラウザは、スクリプト自体をロードする代わりに、index.phpのコンテンツを「文字通り」表示します。ブラウザウィンドウには、これがテキストとして表示されます。

    <?php
/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();

何が起こっているのかについて何か考えはありますか?ありがとうございました!

于 2013-03-14T19:52:12.383 に答える