問題タブ [pathinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 「404Undescribed」エラーを返す代わりに、IIS6にpathinfoルートを認識させるにはどうすればよいですか?
PHPでRESTfulWebアプリケーションを開発しています。私が持っているのは:
- テストサーバーでは、Windows 7 / Apache 2.2 / PHP 5.2.9(mod_php)
- 運用サーバーでは、Windows Server 2003 / IIS6 / PHP 5.2.4(php5isapi.dll)
テスト環境に問題はありませんが、本番サーバーはpathinfoを使用したRESTfulリクエストの送信に失敗し(つまり、/mypath/app.php/controller/id
処理スクリプトが存在する/mypath/app.php
などのページ)、次のメッセージを含む素敵な空白のページを表示します。
firebugを使用すると、応答ヘッダーが次のようになっていることがわかります。
XXXXX
プロキシの名前はどこにありますか。
私はグーグルで検索しましたが、SOも他のWebもこの問題の実用的な解決策を提供できないようです。どんな手掛かり?
本番サーバーは追いつく必要があるため、PHPやIISを再インストールすることはできません。私にできることは、IIS / PHP構成を変更し、IISを再起動することです。
前もって感謝します、
パオロ
mod-rewrite - すべてを index.php/ の後に書き直します
PHP MVC フレームワークをセットアップしていて、ドメインの後に何かを index.php/$1 にリダイレクトしたいのですが、うまくいきません。rewrite_module を有効にし、AllowOverride All を使用していますが、他に不足しているものはありますか?
基本的に、URLをここからに移動しhttp://www.example.com/foo/bar
てhttp://www.example.com/index.php/foo/bar
、 $_SERVER['PATH_INFO'] から取得できるようにします
これが私が持っているものです...
httpd-vhosts.conf
.htaccess - .htaccess を変更した後、CodeIgniter 2 は PATH_INFO を使用できなくなりました
私は CI にまったく慣れていないので、迷惑な "index.php" を URL から削除しようとしています。これは私が使用している .htaccess です:
ご覧のとおりQUERY_STRING
、新しい URL を機能させるには を使用する必要があります (index.php の後の疑問符に注意してください)。使用しようとするとPATH_INFO
(つまり、疑問符なしで)、No input file specified
エラーが発生するだけです。
これは問題ありません。必要に応じて使用しても問題ありませんが、書き直しを始める前QUERY_STRING
は問題なく使用していたため、問題がわかりません。つまり、デフォルトの「example.com/index.php」 PATH_INFO
/controller/function" が機能していて、それは PATH_INFO AFAIK を使用しています。
私の例で htaccess が PATH_INFO を破る理由を誰か知っていますか? 愚かな質問で申し訳ありません。
php - url/php path_info の問題
私は奇妙な問題だと思うものを抱えています。同じホスティング プラットフォームで複数のサイトを開発しています。それらの1つを除いて、すべてのサイトは問題ないようです。Web サイトは、path_info に基づいてデータベースから表示する正しいデータを取得する 1 ページ (index.php) の周りに設定されています。動作を停止したということは、以下のページで 404 エラーが発生したということです。使用するスクリプトとして index.php が表示されるはずだという印象を受けました。
これは、ホスト側でアクセスできない htconfig または別のファイルの問題だと思います。おそらく、誰かが私が彼らをどこに向けるかを明らかにすることができます. 私自身の htaccess ファイルは完全に空です:
上記は index.php に移動し、$_SERVER path_info を使用して page1 を取得し、データベースから page1 に関連付けられたコンテンツを取得してページに表示していました。誰かが私が怒っていないことを確認できますか-上記はindex.phpに行くべきですか? また、URL が index.php ではなく page1 に移動しているように見えるため、URL が存在しないと見なされる理由も説明します。アドバイスをよろしくお願いします。
php - 画像のアップロードスクリプトが機能しない
画像アップロードスクリプトがありますアップロードフォームページには、次のような入力フィールドがあります。
画像のアップロードを処理するphpスクリプトの一部は次のとおりです。
私の問題は、ファイルがアップロードされていないことです。手伝っていただけませんか
php - イメージ属性としての PHP パス情報がサーバーで機能しない
次のコードを使用して、フォルダーの画像をスキャンしています。
次に、クリックした画像を拡大して表示し、「alt」属性をキャプションとして追加します。
これはローカルホストと自分のサーバーの両方で機能しますが、クライアントのサーバーに移動するとすぐに、画像をクリックしてもキャプションが表示されません。
関数を機能させるには、「AddHandler application/x-httpd-php5 .php」という行を含む .htaccess ファイルをクライアントのサーバーに追加する必要があったことに注意してscandir
ください。それは関係ありますか?どうすればこれを修正できますか?
提案をいただければ幸いです。
php - php $SERVER['PATH_INFO'] および apache mod_rewrite
ここに.htaccessファイルがあります:
書き換えは機能しますが、 http://site.com/exampleを試しているときに index.php に path_info がありません。
このトピックを赤くしましたhttps://stackoverflow.com/questions/1442854/codeigniter-problem-with-mod-rewrite-on-apache-1-3が、問題は解決しませんでした。
したがって、この問題は apache 1.3 でのみ発生し (2.0 ではすべて問題ありません)、その理由を知りたいです。残念ながら、httpd.conf にもアクセスできません (
私を助けてください。
php - サーバーでPATH_INFOが有効になっているかどうかをPHPで確認しますか?
PHPから、実行しているサーバーでPATH_INFOが有効になっているかどうかを判断するための、クロスプラットフォーム、クロスWebサーバーの方法はありますか?
$ _SERVER ['PATH_INFO']は、スクリプトの後に余分なパスセグメントがある場合にのみ入力されるようです。そのため、たとえば、リクエストが/index.phpに対するものである場合、PATH_INFOが有効になっているかどうかを確実に判断することはできません。
php - Codeigniter uri_string がフル パスを返さない
したがって、この URL に配置されます (例として):http://localhost/codeigniter-app/en/results?search_query=data
uri_string
必要なパスを返さない
そして予想される:
私のいくつかconfig.php
何か案は?
編集:
http://codeigniter.com/wiki/CodeIgniter_2.1_internationalization_i18nライブラリを使用すると問題が発生します
apache - RewriteRule to PHP PATH_INFO and hiding destination php script
I am trying to use Apache mod_rewrite to achieve the following:
In the document root, I have these files (for example):
I want /downloads/this_is_path_info
to be rewritten to /dlscript.php/this_is_path_info
, so:
The above does that.
Yet, I want the request to file /dlscript.php
returns a HTTP 404 code, so I try:
But this also 404 /downloads/
. I've tried adding RewriteCond %{REQUEST_URI} /dlscript.php
, but it seems mod_rewrite replaces %{REQUEST_URI} with the rewritten one.
How could I block direct access to dlscript.php
yet enabling the other rewrites?
EDIT:
Thanks to Jon Lin I've come up with this idea:
And this worked. The first rule is to prevent problem in ErrorDocument.
But I wonder if this should be considered as a "hack"? Any other appropriate method? Let's say I also want to ErrorDocument /error.php
and makes /error.php
returns 404, other methods instead of handling it inside the php script itself?