0

初めて Symfony アプリケーションを作成しましたが、URL が大きすぎます

http:// IP アドレス/修復/web/app_dev.php/home

http:// IP アドレス/修復/web/app.php/home

http:// ip address/repair/home にしたい

ここに apache2 の httpd.conf があります

NameVirtualHost何かのIPアドレス

サーバー名「修復」

DocumentRoot "/var/www/repair/web"

<Directory "/var/www/repair/web">
   DirectoryIndex app.php
    AllowOverride None
    Order allow,deny
    Allow from All
 RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
    RedirectMatch permanent ^/app\.php/(.*) /$1
</Directory>

symfony の Web フォルダーにある私の .htaccess には、

Options +FollowSymlinks

RewriteEngine On  

# Explicitly disable rewriting for front controllers
RewriteRule ^app.php - [L]
RewriteRule ^app.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]

apache2のmod-Rewriteもリロードしました

エラーが発生しています

要求された URL /repair/home がこのサーバーで見つかりませんでした。

IP アドレス ポート 80 の Apache/2.2.20 (Ubuntu) サーバー

4

3 に答える 3

0

実際に Apache 用の mod-rewrite がロードされていることを再確認してください。Apache 2 を使用した Debian 6 のインストールでは、モジュールは使用可能でしたが、ロードされていませんでした。それをロードするために、次のように、mods-enabled ディレクトリ内の mods-available ディレクトリ内のモジュールへのシンボリック リンクを追加できます。

root@server:/etc/apache2/mods-enabled# ln -s ../mods-available/rewrite.load ./rewrite.load

次に、Apache2 を再起動して構成をリロードする必要があります。Debian では、sudo service apache2 restart

于 2014-11-04T20:16:03.400 に答える
0

Apache 構成のAllowOverride None行により、.htaccess ファイルが無視されます。

これをAllowOverride AllApache に置き換えると、.htaccess ファイルのディレクティブに従います。

AllowOverride の詳細については、こちらを参照してください。

于 2013-05-28T19:06:24.027 に答える