2012-02-29 21 views
-2

おはよう、 私は自分自身のPHPフレームワークを構築しています。私はすべての要求がjs css jpeg、jpg、pngファイルへのリクエストを除いてindex.phpファイルに渡すことを望みます。だから私は、他のモジュールとは独立して、cssイメージとjsファイルを持った独自の資産フォルダを持っていなければならない。自分自身のPHP mvcフレームワークのhtaccess

application 
    module1 
    models 
    controllers 
    templates 
     assets 
      css 
      images 
       test.jpg 
       hello.png 
      js 

     view1.html.php 
     view2.html.php 

    module2 
    models 
    controllers 
    templates 
     assets 
      css 
      images 
       test.jpg 
       hello.png 
      js 

     view1.html.php 
     view2.html.php 
    core 
    here is core file framework 

    index.php 

は、私はそれをどのように操作を行うことができます。

構造は似たようなのですか?

更新

私のモジュールは、アプリケーションフォルダの下にあります。 assetsフォルダは公開されている必要があります。 私はwww.example.com/module1/images/test.jpg

代わりに長い

www.example.com/application/module1/templates/assets/images/のような単純な小さなURLをしたいですtest.jpg

答えて

0

あなたは、いくつかのフォルダのCONTENS、例えば除いて、index.phpにすべてを書き換えることができます:フォルダの下に

RewriteCond %{REQUEST_URI} !^/(css|images|js)/ 
RewriteRule .* index.php [L] 

すべてのファイルを/ CSS 、/ images、/ jsは書き換えられません。あなただけのアプリケーションを保護に関する行を削除する場合

# Turn on URL rewriting 
RewriteEngine On 

# Installation directory 
RewriteBase/

# Protect hidden files from being viewed 
<Files .*> 
    Order Deny,Allow 
    Deny From All 
</Files> 

# Protect application and system files from being viewed 
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] 

# Allow any files or directories that exist to be displayed directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all other URLs to index.php/URL 
RewriteRule .* index.php/$0 [PT] 

は、使用可能である必要があります。

+0

私はWindows 7のwampserverで試してみました –

0

実際には、ZFのデフォルトの.htaccessこれはexample.htaccessKohanaからである。この

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
0

に適していますおよびシステムファイル。代わりに、それらのファイルが単独で何もしないことを確認してください。 Kohanaでは、index.phpに定数を定義することで解決されます。この定数は、外部からアクセス可能ではないはずのすべてのファイルの先頭でチェックされます。

<?php defined('SYSPATH') or die('No direct script access.'); 
+0

私はコメントライン "RewriteRule protect application"をwww.example.com/application/module1/templates/assets/images/test.jpgで見ることができます。コアファイルフレームワークやその他のファイルに直接アクセスするために、私はKohanaとして一定の制御を置くことができます。 /application/module1/templates/assets/images/test.jpgの代わりに、もっと簡単なURL /module1/images/test.jpgを作成するにはどうすればよいですか? - – paganotti

+0

@NicolaPaganottiおそらくファイルを移動しますか?あなたが何かのためにそれを使用していない場合は、アプリケーションのディレクトリにすべてを持っている必要はありません...? – Svish

+0

私はおそらく私がこれをやっていることを自分自身に尋ねるでしょう...なぜKohanaや別のMVCフレームワークを使って始めるのはなぜですか?あるいは、あなたが同じアプリケーションに属しているならば、少なくともあなたのモジュールを別々にするのは何ですか? – Svish

0

私は最近、自分のフレームワークで作業を開始し、以下のサイトが非常に有用であることを発見しました。 .htaccessと基本的なMVCフレームワークを設定する他のすべての側面について説明します。

http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/

私はPDOのすべてのデータベースのものを書き換えている、デフォルトのルーティングを微調整し、機能の一部を変更したが、それは非常に有用で、読み取り確かに価値が見つかりました。

関連する問題