Zend Framework Shared Hosting, Dengan Memanfaatkan mod_rewrite

Ketika saya coba upload project zend framework ke shared hosting ada beberapa masalah. Entah untuk solusi lain saya belum menemukannya karena ini sangat tidak elegan jika kita upload ke shared hosting dengan url http://www.myweb.com/public/ seharusnya untuk terlihat lebih professional dengan url http://www.myweb.com/. Jika anda menggunakan VPS saya kira tidak masalah karena di VPS yang saya tau dapat dikonfigurasikan lagi. Masalahnya jika kita menggunakan shared hosting.

Memang sucks nih kalo pake shared hosting….  :p

Berikut ini directory truktur zend framework….

myproject/
   application/
        configs/
        controllers/
        views/
            helpers/
            scripts/
        models/
        layouts/
    library/
    public/
    tests/

Yang perlu diperhatikan adalah directory public, Karena didalamnya terdapat file .htaccess dan anda harus menghapusnya (must). Selanjutnya anda buat  .htaccess di directory root aplikasi anda, dalam hal ini adalah directory myproject.

Dengan isi file .htaccess seperti berikut:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]

Mungkin ini cara alternatif atau efektif untuk memindahkan dan mengubah file .htaccess public ke document root aplikasi kita.

Tetapi akan jadi masalah jika kita ingin mendaftarkan website kita ke google dengan upload file dari google misalkan http://www.myweb.com/googleAbcdefg.html Tentu ini akan tidak akan terbaca. Solusinya copy HTML tag ke index aplikasi. 😀

BTW mungkin ada cara lain untuk upload/install zend framework di shared hosting… untuk saat ini saya gunakan cara ini. Kalo ada cara lain nanti saya update. 😀