2008-08-17 13 views
1

ネットの周りの多くのブログで言及されているのを見ましたが、ここで議論すると思います。 PHPでMVCフレームワーク(私はZENDに興味があります)を持っていても、私たちのホストはmod_rewriteを提供していません。 「ショートカット」はありますか?どのような方法でもコントロールを転送できます(マッピングがページ間で発生する可能性があります)。何か案は? ありがとう:-)php Zend/MVC without mod_rewrite

答えて

4

Zendフレームワークはmod_rewriteなしで動作するはずです。あなたのURLで暮らすことができるなら、 "/path/to/app/index.php/controller/action"のようになります。 mod_rewriteがあれば、 "index.php"ビットを削除することもできますが、それでもうまくいくはずです。

index.phpの部分を受け入れるためのルート設定はすべて問題です。

0

今日のホスティング環境ではmod_rewriteはほとんど不可欠ですが、残念ながら誰もがメッセージを受け取りません。

大規模なPHPプログラム(私はMagentoだと思っていますが、大部分は対処できます)は、mod_rewriteが利用できないときのかなりのURLフォールバックモードを持っています。

URLはwww.site.com/index.php?load-this-pageのように見える終わる

彼らは$ _GET変数から変数名をつかむために、いくつかの魔法を実行し、セレクタとしてそれを使用している必要があります

どのモジュール/機能を実行するか。

関連のあるノートでは、#を使用している新しいFacebookのサイトに大量の乱れたURLがあります。したがって、リンクはwww.new.facebook.com/home.php#/inbox/のように見えますが、明らかにそれを見るつもりはありませんが、$ _SERVER ['REQUEST_URI']変数を解析している可能性があります。

0

mod_rewrite以外の方法ですべてのリクエストをindex.phpにリダイレクトすることができます(またはinitスクリプトのどこにでも)場合は、上記のように、 'REQUEST_URI'を使用して、あなたが好きなようにそれを解析し、要求をあなたが望むようにする。これがWordpressのやり方です(mod_rewriteで許可されています)。同じURIを保持しながらリクエストをインデックスページにリダイレクトできる限り、リクエストを処理するために必要な処理を行うことができます。

1

OK my verdict :-):mod_rewriteを使わずに正常にzendを使用しましたが、これはすべてsite/index.php/controller/actionと同じです。私はこれを投稿する前にそれを知っていた。私はまた、ネット上で404ページをindex.phpに "プッシュ"する手法を見つけました。したがって、POST値の例外を除いて、リソース(CSS、イメージなど)がそこに到達しません。 次回は特定のサーバーでアプリケーションを作成し、mod_rewriteを丁寧に求めなければならないと決めました。管理者がそれを提供できない場合は、私の上司に相談してください。 は、一般的には、いくつかのPHPの市場はそれほど断片化(PHP4、PHP5、PHP6、mod_rewriteの、のmod_auth、mod_whatever)であるが、これはまた別の話であることを回...

-2

のDrupalの書き換えルールが

http://example.com/path/goes/hereを翻訳恥であります

http://example.com/index.php?q=path/goes/here

...と生成するURLのどの味を決定するためのロジックを持っています。醜いURLで暮らすことができれば、URL書き換えに依存せずに、1つのフロントコントローラのすべてのロジックを保つことができます。