0

だから私はこれを含む.htaccessファイルを持っています:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [NC,L]

ブラウザで /path/to/app/ に移動すると、サーバーを /path/to/app/public/$1 にリダイレクトする代わりに、ディレクトリ構造が表示されます

私は何を間違っていますか?

4

2 に答える 2

1

問題はこの行です:

RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [NC,L]

覚えておいてください:書き換えは先頭のスラッシュと一致しません。ルールを次のように変更します。

RewriteEngine On
RewriteBase /
RewriteRule ^(path/to/app)/(.*)$ /$1/public/$2 [NC,L]
于 2013-03-25T11:09:41.110 に答える
0

Symfony アプリケーションをビルドしてみませんか?ルールを書き換えるには、httpd.conf でオーバーライドを許可する必要があります

 DocumentRoot "/var/www/symfony/web"

 <Directory "/var/www/symfony/web">
  allow from all
  AllowOverride All  <-------------
  Options +Indexes
 </Directory>

そして、ディレクティブを使用する場合

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

つまり、ifディレクトリが存在することを意味するthen表示構造elseは、他の RewriteRule を使用します

また、試してみてください

RewriteRule ^/path/to/app/(.*)$ /path/to/app/public/$1 [QSA,L]
于 2013-03-24T20:45:49.507 に答える