2017-04-20 11 views
0

私はPHPでMVCアプリケーションを作成し、以下のファイル構造を持つようにしたい:PHP MVCの.htaccessリダイレクト

 
/
|-- application 
| | 
| ... 
| 
|-- public 
| |-- css 
| | |-- screen.css 
| | `-- print.css 
| |-- scripts 
| | `-- wlan.sh 
| |-- bugfixes 
| | `-- audiofix.sh 
| `-- index.php 
`-- .htaccess 

これは私の.htaccessファイルです:

RewriteEngine On 
RewriteBase /public 

RewriteCond %{REQUEST_URI} !^/public/ [NC] 
RewriteRule ^(.*)$ /public/$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /public/index.php [L] 

は何作品:

  • '/ something'のような仮想URIを '/ public/index.php'にリダイレクトせずにURIを変更する
  • 何作品ではないURI

を変更せずに '/public/css/screen.css' から '/css/screen.css' のようなファイルURIをリダイレクト:「/スクリプトのような

  • リダイレクトディレクトリURI '/ public/scripts'の代わりに '/ public/index.php'に変更してください。

私はすべてを試しました。今私は助けが必要です。

答えて

0

解決策は以下のとおりです。https://stackoverflow.com/a/41516968/3699361

:へ

RewriteEngine On 

# Stop processing if already in the /public directory 
RewriteRule ^public/ - [L] 

# Static resources if they exist 
RewriteCond %{DOCUMENT_ROOT}/public/$1 -f 
RewriteRule (.+) public/$1 [L] 

# Route all other requests 
RewriteRule (.*) public/index.php [L] 

感謝