1

パブリックフォルダーで開始する必要がある社内アプリを構築しました。ディレクトリ構造は次のとおりです

myapp/conf
myapp/tmp
myapp/doc
myapp/public
myapp/public/css
myapp/public/js
myapp/public/index.php

myapp/public を webroot にする代わりに、ユーザーが webroot サブディレクトリにインストールした場合、URL は次のようになります。

somehost/myapp/public/index.php

/myapp/.htaccess でリダイレクトして、すべてを /public/index.php に転送する方法はありますが、URL も /public を含むように変更します。

パブリックにリダイレクトする方法を見つけましたが、/public/ で URL 書き換えを行っているため、パスに /public/ を含めるには $_SERVER['REQUEST_URL'] が必要です。

他のすべて (/conf や /doc など) へのアクセスを防止したい

運が良ければ?

私が試したこと:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule (.*) index.php/$1 [R=301,L]
RewriteRule ^$ public [L]
</IfModule>

しかし、これは public を前に置くmyappようで、URL は次のようになります: localhost/public/myapp/、代わりに必要ですlocalhost/myapp/public/

簡単に言えば、/whatever/* へのすべての URL に、/whatever/public/* に public を追加する必要があります。

ソリューションは、ドメイン名と「myapp」名から独立している必要があります。ルート フォルダ (「myapp」) に任意の名前を付けることができますが、常に「public」というサブ ディレクトリが存在します。

4

1 に答える 1