私は、次の安らかなURIデザインを備えた基本的なMVC構造を持っています:
mysite.com/appdir/:index/:controller/:action/
私のuriが次のようになるように、インデックスルートパラメーターを非表示にしたい:
mysite.com/appdir/:controller/:action/
私の基本的なフォルダ構造は次のとおりです。
appdir/
app/
-->Controller/
-->Model/
-->View/
config/
library/
public/
-->.htaccess
-->index.php
.htaccess
index.php
appdir/.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
appdir/public/.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.php
</IfModule>
インデックスを隠すことができないようです。いくつかの書き換えルールを試しましたが、何もうまくいかないようです。CodeIgniter を使用すると、通常は追加RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
して問題を解決できますが、これに 3 時間取り組んできましたが、成功しませんでした。