2017-10-16 13 views
1

私のyii2 app-advancedプロジェクトでは、1ドメイン設定があります。 configがうまく動作する前に、今は画像ファイルへのリンクを管理できませんでした。404ファイルが見つからないYii2 app-advanced with one-domain configuration

Not Found 

The requested URL /icons/logo.svg was not found on this server. 

しかしhttp://{domain}/frontend/web/icons/logo.svg作品:私はhttp://{domain}/icons/logo.svgリンクでファイルをダウンロードしようとしたとき、私は404エラーが発生しています。 ファイルが示されたフォルダに存在します。短いリンクを使用するプロジェクトでapache設定ファイルを修正する方法。

ここに私の設定:

  • のapache:

    <VirtualHost *:80> 
        ServerName test.dev 
    
        ServerAdmin [email protected] 
        DocumentRoot /home/user/Projects/test-app/ 
    
        <Directory /home/user/Projects/test-app/> 
         Require all granted 
         AllowOverride All 
        </Directory> 
    </VirtualHost> 
    
  • ベース.htacces

    Options -Indexes 
    IndexIgnore */* 
    
    Options +SymLinksIfOwnerMatch 
    
    <IfModule mod_rewrite.c> 
    RewriteEngine on 
    
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ 
    RewriteRule ^(.*)$ http://%1/$1 [L,R=301] 
    
    RewriteRule ^admin(.{2,})?(/)?$ /backend/web/$1 [L,PT] 
    RewriteRule ^([^/].*)?$ /frontend/web/$1 
    </IfModule> 
    
  • フロントエンド.htacces

    012また、設定ファイルfrontend\config\main.phpで有効
    Options -Indexes 
    
    <IfModule mod_rewrite.c> 
    RewriteEngine on 
    
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . index.php 
    </IfModule> 
    
    DirectoryIndex index.php 
    
'components' => [ 
    'request' => [ 
     'csrfParam' => '_csrf-frontend', 
     'baseUrl' => '', 
    ], 
    'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
     'rules' => [ 
      '' => 'site/index', 
      'sitemap' => 'sitemap/index', 
     ], 
    ], 

答えて

1

私は問題を発見しました。 Apacheには独自のアイコンiconsがあります。そして、このエイリアスは、ここで説明/etc/apache2/mods-available/alias.conf

号でのみ、サーバーの設定に上書きすることができます:あなたは、アイコンのフォルダ名を使用したいのであればhttps://www.electrictoolbox.com/apache-icons-directory/

、あなたはたとえばimg/icons/...ため、subdirecotoryでそれを置く必要があります。または、別のディレクトリ名を使用します。

0

あなたの.htaccessファイルに次の行を追加します。

RewriteRule ^icons/(.*)$ frontend/web/icons/$1 [L] 
+0

Sardor Dushamov、あなたの亜種も効かない。 私のPC上の他のyii2プロジェクトで問題の設定がうまく機能します。たぶん、いくつかのエラーはより一般的ですか? – Oleg

関連する問題