2

こんにちは私はウェブサイトを通してMVCパターンを開発しようとしています、最初から私はこのように試したURLを取得する必要があります

echo $url= $_GET['url'];
echo $url;

このhttp:// localhost / autolink / index / sdsadのようなURLを使用すると、 「index / sdsad」が表示されますが、何も表示されません。これで何が問題になる可能性がありますか?バージョンの問題になる可能性がありますか?cozはそれが動作していた別のマシンで使用されました。

これは私の現在の.htaccessです:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
4

2 に答える 2

4

そのURLが別のマシンで機能している場合は、ある種の書き換えルールが設定されています。あなたはおそらく次のようなものを持っていました:

RewriteEngine On
RewriteRule ^autolink/.* autolink.php/?url=$0 [QSA,PT]

これにより、インデックス/sdsadがクエリ文字列のurl引数として渡されます。

あなたの例は私のために働き、あなたがどちらかを意味します

  1. mod_rewriteをオンにしないでください
  2. [オーバーライドを許可]をオンにしない

確認する最も簡単な方法は(これが本番サーバーではないと仮定して)、. htaccessファイルを編集し、最初の行に「POOP」のようなものを入れることです。500エラーが発生し始めた場合、上記の1と2は適用されません。

于 2012-05-01T05:27:56.420 に答える
0

Visual Studio 2019 および IIS 用の PHP ツールを使用して、Visual Studio 2019 Community で PHP プロジェクトを開発しています。MVCパターンのテスト中に同じ問題が発生し、代わりに機能しなかった$_GET['url']が$_SERVER['REQUEST_URI']を使用し始めました。

于 2022-01-28T16:04:07.557 に答える