2009-05-27 10 views
2

クリーンなURLを取得するための標準的な方法(www.mysite.com/getarticle?a=123とwww.mysite.com/getarticle/123)はすべて認識しています。apache設定にアクセスできないPHPのクリーンURL

これらのソリューションには、mod_rewrite、force_type、およびApacheのさまざまな設定が含まれています。

共有ホスティングでこのような設定にアクセスすることができないので、制限を回避して作業を完了するソリューション/ハックはありますか?ありがとう。

答えて

3

はい。

www.example.com/index.php/my/path/hereを使用してスクリプトを呼び出すと、$_SERVERからリクエストパスを簡単に取得できます。私は個人的に$_SERVER['PHP_SELF']を使用しますが、使用するPHPのバージョンに応じていくつか選択する必要があります。

2

mod_rewriteを使用できないことを確かめてください。

共有ホスティングサーバーにインストールされている/有効になっている場合は、.htaccessファイルをpublic_htmlディレクトリに置き、書き換えルールを追加するだけです。実際のApacheの設定を変更する必要はありません。

0

システムが正しく処理できない場合は、システム依存以外のURLを使用することはできません。 Webサーバーのネイティブ動作は、要求されたURLパスを1対1でファイルシステムにマッピングすることです。

しかし、ほとんどのWebサーバーは、特定のルールの助けを借りて要求されたURLパスをファイルシステムにマップする機能を提供しています。例えば

Apacheはさらに多くの機能のためにその情報(PATH_INFO envirnoment変数を参照してください)とmod_rewriteを維持しながら、既存のファイルを参照するURLパスの後に追加のパスセグメントを追加するAcceptPathInfoを持っています。

+0

通常、AcceptPathInfoはデフォルトのapacheリクエストではオフになっていますが、mod_phpとほとんどのCGIハンドラではデフォルトでオンになっています。 –

関連する問題