0

Web サイトをテンプレート化する方法を選択したため、"application/views" を "views" に書き換える必要があります。これ (1) を行うことにしたのは、スタイルシートなどのリンクに使用する URL を短縮し、ファイル システムの構造を覆い隠すためです。

現在、書き換えルールを削除すると、application/views/template/file.css にあるメディア ファイルに直接アクセスできます。書き換えルールを有効にすると、views/template/file.css にリダイレクトされますが、Kohana は次を返します: Kohana_HTTP_Exception [ 404 ]: Unable to find a route to match the URI: template/u_crossbrowser/css/bootstrap.css

スクリプトを掘り下げて、url がビュー dir を呼び出している場合は、ルーティングを制御しようとしないという条件を作成できると思います。しかし、もっと良い解決策があると思います。

私の .htaccess ファイル:

RewriteEngine on

# Installation directory
RewriteBase /

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


#We needed direct file access for our media files (css, js, images) but the rewrite below was breaking it. So, we replaced it with rule 2 below.
    # Protect application and system files from being viewed
    # RewriteRule ^(?:application|modules|system)\b - [F,L]

# Rule 2: Disable directory listings
IndexIgnore *

# 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 [PT]


RewriteCond %{THE_REQUEST} ^GET\ /application/views/
RewriteRule ^application/views/(.*) /views/$1 [L,R=301]
4

1 に答える 1