1

Symfony2 コア構成には、次の .htacess ファイルが含まれます。

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

これにより、ブラウザの URL から app.php が消去されることを理解しています。wwwを追加するには、次の書き換えルールを追加したいと思います。ユーザーが www なしでドメイン名を入力するたびに、私の Web サイトに :

    RewriteCond %{HTTP_HOST} ^valutao\.com$ [NC]
    RewriteRule ^(.*)$ http://www.valutao.com/$1 [L,R=301]

だから今、私は次の.htacessファイルを持っています:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
    RewriteCond %{HTTP_HOST} ^valutao\.com$ [NC]
    RewriteRule ^(.*)$ http://www.valutao.com/$1 [L,R=301]
</IfModule>

私の問題は、app.php が再び表示されることです。私のルールは基本構成を隠しているだけのようです。valutao.com にアクセスしたときに表示される URL の例を次に示します: http://www.valutao.com/app.php

誰かがそれを修正する方法を知っていますか。残念ながら、私は書き換えルールに関する基本的な知識しか持っていません。

手伝ってくれてありがとう

4

1 に答える 1

5

順序を変更するだけです (www rewrite を最初に実行する必要があります)。

また、ドメイン名への依存を少なくします。

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
于 2012-05-02T17:26:30.097 に答える