-2

PHP ページが GET 変数を受け取っておらず、textSearch に対して未定義のインデックス エラーが発生しています。マルチビューをオフにし、関連記事で提案されているように QSA を追加しました。

私の .htaccess は次のようになります

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

変数の$_GET名前は textSearch にする必要があります

<form action='users/index.php' method"GET">
   <input type='text' name='textSearch'>
   <input type='submit' value='submit'>
</form>

[編集] コメントで述べたように、フォームの場所は にlocalhost/Build_3/index.phpあり、「textSearch」変数をに渡していますlocalhost/Build_3/users/index.php

[編集]

ディレクトリ構造は次のとおりです。
デフォルトのホームページはBuild_3/index.php
ユーザーのホームページです。Build_3/users/index.php

のフォームは、変数 textSearchBuild_3/index.phpに移動して提供することになっています。 に 1つ、ディレクトリに 1 つあります。Build_3/users/index.php
.htaccessBuild_3Build_3/users

4

1 に答える 1

1

%{QUERY_STRING}ルールの最後に追加します。

Options -MultiViews
RewriteEngine on
RewriteRule (.*)\.dummy$ ./?page=dummy&%{QUERY_STRING} 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?id=$1%{QUERY_STRING} [QSA,L]

ノート:

  1. それは上で何をしOptions -MultiViewsているのですか?
  2. が機能するRewriteRule ^(.*)$ index.php?id=$1%{QUERY_STRING} [QSA,L]には、上で追加したように、いくつかのダミー条件を追加する必要があります。

更新 #1

私があなたを理解している限り、私の理解が間違っている場合は訂正してください:

  1. には、 to を取るメソッドBuild_3/index.phpを持つフォームがあります。したがって、次のものを持っていると仮定します。postBuild_3/users/index.php

    <form method="post" action="users/index.php">
    ...
    ...
    </form>
    
  2. 2 つの.htaccessファイルがあります。usersディレクトリにあるのはなぜですか?よくわかりませんが、なぜあなたはBuild_3/それを持っているのですか。ユーザーが次のように URL にアクセスする場合:

    http://Build_3/users/5
    

    そして、このようにリダイレクトされるはずです:

    http://Build_3/users/index.php?id=5
    

    次に、ディレクトリ.htaccess内のファイルを次のように変更する必要があります。Build_3/users/

    RewriteEngine on
    RewriteRule (.*)\.dummy$ ./?page=dummy&%{QUERY_STRING} 
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ index.php?id=$1%{QUERY_STRING} [QSA,L]
    
于 2012-11-07T06:30:27.813 に答える