問題タブ [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.
apache2 - Rackspace Cloud Sites で apache を取得して、追加のパス情報を含むスクリプトを提供するにはどうすればよいですか?
Rackspace Cloud Sites でサイトを実行しています (Apache 構成にアクセスすることはできませんが、変更を依頼したり、変更を許可したりできる可能性があります)。
feeds.php というスクリプトがあり、それをドキュメント ルートに配置して、/feeds/news や /feeds/photos などの URI のリクエストが来たときにスクリプトが呼び出されるようにします。
私が直接制御するマシンで実行するすべての apache サーバーは、デフォルトでこれを行うようです。その feeds.php を他の Apache サイトに配置すると、意図したとおりに機能します。ただし、Rackspace Cloud Sites では機能しません。私は彼らとチケットをオープンしていますが、将来自分で修正できるように、この機能の原因を理解しようとしています (または、少なくとも Rackspace サポートに必要なものをより適切に説明してください)。
これが機能しているサーバー上のすべてのApache構成を調べましたが、これを行うRewriteRulesなどはありません。
この形式で Apache サーバーの URL を作成する構成オプションを知っていますか?
php - 画像のURLがifステートメントを通過できません
画像のURLをphpスクリプトに投稿します。このphpスクリプトでは、画像のURLを取得し、拡張子が何であるか、この拡張子がいくつかの拡張子と一致するかどうかを確認します。
しかし、私がhttp://www.test.com/picture.jpgのようなURLを投稿し、彼が拡張子(この場合はjpg)を取得した場合でも、彼はifステートメントを実行し、拡張子がifステートメントで言及されているもの。
何が間違っているのかわかりませんか?
php - 文字列の一致後にテキストファイルからファイル名を取得する - PHP
次の形式のログ ファイル ( log.txt
) があります。
注: 各ファイル名の形式は、3lettersdatesomename_LO.pdf/indd です。例: MNM011112ThisFile_LO.pdf。また、ここで示したように、特定の日時に、エントリにエラーのみ、作成されたファイルに関するメッセージのみ、またはその両方が含まれる可能性があります。
ファイルはこのように続きます。そして、次の形式のデータベースがあります。
等々...
ここで、ログ ファイルを調べて、作成された各ファイルについて、またはエラーが発生した場合は、適切なメッセージで DB の最後の列を更新する必要があります: File created または Error. 「PDFファイルが作成されました/エラー」という文字列を検索してから、ファイル名を取得することを考えました。
pathinfo()
や など色々試してみstrpos
ました。しかし、どうやってそれを成し遂げようとしているのか理解できないようです。
どうすればこれを解決できるかについて、誰かが私にいくつかの情報を提供してもらえますか? txt ファイルとデータベースはかなり巨大です。
注: エラーが表示される形式が一貫していないことを明確にするために、ログ ファイルの 2 番目のエントリを提供しました。エラーの形式に一貫性がなくても、想定されていることをまだ達成できるかどうかを知りたいです。質問全体をもう一度読んだ後、誰か助けてもらえますか?これを最初に投稿したときから多くの変更がありました。
nginx - エイリアス環境の nginx path_info
php-fpmを使用してnginxでこれを機能させる必要があります。
問題は、 /stuip がルートの下のサブフォルダーではなく、 /usr/local/stuip/public/ へのエイリアスであることです。
(動作していない)path_info fooなしの構成は次のとおりです。
そして fastcgi_params:
ルートが /usr/local/stuip/public/ を指しているサブドメインで試してみたところ、次のパラメーターで動作するようになりました。
しかし、これをサブフォルダーに移植する方法がわかりませんでした。
助言がありますか?
php - PHP 配列からドメイン名とドメイン拡張子を見つける
TLD 拡張子を持ついくつかのドメインを含むデータの配列があります。ドメイン名とTLD拡張子を別々に収集したい。
例: "hello.com" から "hello" を 1 つの変数として収集し、次に ".com" を別の変数として収集します。
別の例 重要: "hello.co.uk" から "hello" を 1 つの変数として収集し、次に ".co.uk" を別の変数として収集します。
pathinfo() を使用する現在のコードは、「hello.com」では正しく動作しますが、「hello.co.uk」では正しく動作しません。「hello.co.uk」の場合、「hello.co」を 1 つの変数として収集し、次に「.uk」を別の変数として収集します。
私が使用しているコードは次のとおりです。
うまくいけば、私はそれを十分に説明しました。私はstackoverflowをよく使用しますが、これの具体的な例を見つけることができませんでした.
ありがとう
php - .htaccessは、テンプレートに渡す前にPATH_INFO変数を空に書き換えます。URLからindex.phpを削除しない
みなさん、おはようございます。これが簡単なものになることを願っています!(私はまだコーヒーを飲んでいないのに、なぜこんなに早く起きているのですか?!)
とにかく..あなたのために2つのパートがあります: 最初の(基本的な)問題は、リンクからindex.phpを削除しようとしていることです(これは、hostgatorに感謝します:))。たくさんの検索を行った後、/pageが/index.php/pageにリダイレクトされるようになりました。今、これは何もないよりはましですが、もちろんそれでも理想的ではありません。そして、私はそれをするために[R]を使わなければなりませんでした。私の.htaccessは次のとおりです。
2番目の(難しい)問題は、URLからindex.phpを削除するために見つける必要がありますが、それでも適切なページコントローラー(つまり、URLに含まれるページ)が表示されていることを確認します。PATH_INFOを使用して変数を取得し、適切なページを表示しています。これは、index.phpが存在する場合に機能します。
しかし、何らかの理由で、最後のRewriteRuleからRを削除すると、/pageは常にデフォルトでメインのindex.phpテンプレートになります。これは、サイトがページを処理する前に、.htaccessなどがPATH_INFOを空に書き換えているようなものです。.htaccessが書き換える前に、 PATH_INFOをロックインする方法が必要だと思います。
いくつかのテストのために私は立ち往生しました、var_dump(path_segments());
そして/index.php/pageにそれが与えるとき:array(2) { [0]=> string(0) "" [1]=> string(10) "proper-page" }
。ただし、上記の書き換えルールからRを削除し、/ pageだけでアクセスすると、次のようになります
array(2) { [0]=> string(0) "" [1]=> string(0) "" }
。
今では、最初の問題を簡単に実行する方法があるかどうか、2番目の問題について心配する必要があるかどうかさえわかりません。しかし、少なくともそれが私が今理解しようとしているすべてです。私が得ることができるすべての助けに感謝します!
php - ファイルを明示せずにPHPのPATH_INFO
私は簡単なスクリプトを持っています:
index.php:
私がそれを実行するとwww.website.com/index.php
、うまくいきます。すなわち)www.website.com/index.php/hello
エコーします/hello
ただし、に行くとwww.website.com/hello
、必要なときに URL が見つからないというエラーが表示されます。それ/hello
がエコーされます。
index.php
PATH_INFO が機能するために存在する必要がないようにするにはどうすればよいですか?!
frameworks - NGINX 構成。PATHINFO 404 を使用する PHP フレームワーク
私は通常 apache を使用しており、NGINX を試してみたいと思っています。
ubuntu dev マシンにインストールし、いくつかの異なるフレームワークとサイトをセットアップして開発中です (codeigniter、symfony、laravel など)。
私が得ている問題は、.php
仕事で終わるパスだけだということです。index.php/welcome/index
index.phpをロードする代わりに404秒だけ試してみると。
cgi.fix_pathinfo を 1 と 0 に設定してみました。
これが私の現在の(多くの試行済みの)サイト構成です。
php - PHPでカスタム構築されたcmsのスラッグとして使用するパス名を見つける
カスタム コンテンツ管理システムで Web サイトを構築しており、wordpress のようなスラッグ エリアを構築したいと考えています。表示されているページに応じてフロントエンドからパス名を取得し、それをバックエンドのスラッグ領域にエコーアウトしたいと考えています。
私はphpを使用しており、フロントエンドは動的です。つまり、1つのページがあり、ユーザーがクリックしたものに応じて、そのファイルを含めます。
バックエンドのスラッグのコードを次のようにします。
私のフロントエンドパスは次のようになります: blahblah/index.php/slug-name
エコーアウトするデータベースにスラッグが保存されていますが、フロントエンドパスを取得してバックエンドでエコーアウトする方法がわからないという問題があります。フロントエンドのパスを手動で入力できることはわかっていますが、将来 Web サイトを別の場所に移動する場合に備えて、動的に入力する方がよいと思います。
pathinfo または $_SERVER を使用してみましたが、フロント エンドではなくバックエンド パスがエコーされます。
はっきりしていればいいのですが、そうでない場合は、何かを明確にするように依頼してください。再度、感謝します。
apache - 壊れた PATH_INFO .htaccess ルールの非推奨
最近、私のホスティング プロバイダーは、Apache システムを 2.4.4 に更新しています。そうすることで、サイトを実行するためにクエリ文字列を強制する必要があるため、式エンジン サイトが壊れてしまいました。
私が理解していることから、.htaccess ルールの行を ... に更新するだけで、この問題を簡単に修正できます。
残念ながら、これに対する修正はこれほど単純ではありませんでした。
私の Web サイトでは、カスタム式エンジン プラグインを使用して、IP to Nation モジュールを使用して世界のどの地域にいるのかを検出しています。基本的に何が起こるかというと、あなたが米国出身の場合は米国のコンテンツを含むサイトが表示され、それ以外の場所の場合は URI の最初の部分に「international」が追加され、URI の最初の部分に基づいて国際的なコンテンツが表示されます。私たちのURI
例えば
そのクエリ文字列を index.php の rewriteRule に追加しようとすると、国際サイトが壊れてしまい、その理由がわかりません。
「?」を追加します。米国のサイトをRewriteRule ^(.*)$ /index.php?/$1 [L]
修正しますが、国際ページが見つからないと言って国際サイトを壊します。
「?」を追加します。国際サイトをRewriteRule /international/(.*)$ /index.php?/$1 [L]
修正しますが、クエリ文字列が必要なため、米国サイトは機能しません。
そして、それらの両方に追加しても機能しません。
この問題を克服するために .htaccess 内に何かが明らかに欠けていますが、正しい構文を生成できないようです。
何か案は?