どのように機能するかを理解することは許されていないと思うところまで来ましたmod_rewrite
。理論的には、私はそれを手に入れたと思いますが、これを機能させることができないようです. 次のファイル構造があります。
code
-application/
-bundles/
-laravel/
-public/
-css/
-js/
-img/
-index.php
-storage/
-.htaccess
悲しいことに、私のhttpd.conf
VHost 構成には次のものがあります。
<Directory path/to/code>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
DocumentRoot path/to/code
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
そして、それを code/public/ を指すように変更することはできないので、 で修正できると思います.htaccess
。今、私はすべてを試しました。基本的に私がやりたいことは、変換する必要があるもの/public/index.php/($1)
を除いcss, js, img
て、すべてのリクエストを に変換することです:
/public/css/($1)
/public/img/($1)
/public/js/($1)
したがって、example.com/
これがに変更されexample.com/public/index.php
、それらの css、img、js などがexample.com/public/css
、img、js に変更される場合。
私はそれをすることはできません:(
私.htaccess
は多くの形をとってきましたが、最近はすべてをあきらめて、次のようになりました。
<IfModule rewrite_module>
RewriteEngine on
RewriteRule ^(.*)$ /public/index.php/$1
</IfModule>
もちろん、これは書き換えでループを引き起こすため、 500内部サーバーエラーを与えます(とにかく私にはそれほど明確ではありませんが、それでも)
だから、私の考え.htaccess
は(疑似コード)でした:
<IfModule rewrite_module>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/css
RewriteRule ^css/(.*)$ /public/css/$1
RewriteCond %{REQUEST_URI} ^/img
RewriteRule ^img/(.*)$ /public/img/$1
RewriteCond %{REQUEST_URI} ^/js
RewriteRule ^js/(.*)$ /public/js/$1
RewriteRule ^(.*)$ /public/index.php/$1
</IfModule>
どうすればこれを達成できますか?私が間違っていることを少し理解したいと思います。mod_rewrite
.htaccess
良いファイルを書く方法を見つけたいです。
私はWindows 7、Apache2.2を使用しています
前もって感謝します。