45

symfony2 プロジェクトをサーバー グローブにアップロードしました。メイン ページは読み込まれますが、すべてのリンクが壊れています。webアドレスにapp.phpを追加してみました。それはうまくいきましたが:

次のようなルートがあります。

www.something.com/app.php/something

私はそれらをしたい:

www.something.com/something.

私は読んでいて、.htaccessにいくつかの書き換えルールを設定する必要があります。

これらのルールを見つけましたが、機能していないようです:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
4

5 に答える 5

58

.htaccess ファイル (web ディレクトリ内) でこれを試してください。

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # Explicitly disable rewriting for front controllers
    RewriteRule ^app_dev.php - [L]
    RewriteRule ^app.php - [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    # Change below before deploying to production
    #RewriteRule ^(.*)$ /app.php [QSA,L]
    RewriteRule ^(.*)$ /app_dev.php [QSA,L]
</IfModule>
于 2012-06-22T02:46:51.707 に答える
26

whistlergregの回答を改善するために、bundlesフォルダーが壊れないように行を追加しました。これにより、画像などの外部リソースが破損しないようになります。

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # Explicitly disable rewriting for front controllers
    RewriteRule ^/web/app_dev.php - [L]
    RewriteRule ^/web/app.php - [L]

    # Fix the bundles folder
    RewriteRule ^bundles/(.*)$ /web/bundles/$1  [QSA,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    # Change below before deploying to production
    #RewriteRule ^(.*)$ /web/app.php [QSA,L]
    RewriteRule ^(.*)$ /web/app_dev.php [QSA,L]
</IfModule>
于 2012-09-30T23:05:27.913 に答える
0

また、... apache 構成のコメントを外すことを忘れないでください (コメントされている場合):

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

MacOSX

/private/etc/apache2/httpd.conf

于 2016-09-10T09:59:30.243 に答える