私が直面している問題は次のとおりです。
フォームから送信ボタンを押すと、アクションは相対パスに設定されます。 初めて私がボタンを押すと、htaccessを書き換えると完璧なURLが得られます しかし、もう一度ヒットすると間違ったURLが表示されます。htaccess rewriteはじめて動作する
例:
Options -MultiViews
RewriteEngine On
RewriteBase /public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
と、このそれ私が欲しいもの:
www.example.dev/public/controller/method/params
は、まず、これは私のhtaccesファイルであります
書き換えは私に完全なURLを与え、私は以下を抽出することができます:
1-コントローラ
2つのparamsを持つ2つの正しい方法。
私はこれを働かせました。
が、私は次のコードがある場合: www.example.dev/public/controller_example
<form class="fomulier" action="controller_example/method_example" method="post">
<div class="search">
<label for="search" class="title">Search:</label><br/>
<input type="text" id="search" name="search" value=""/>
<input type="submit" value="Search">
</div>
</form>
をフォームに私をもたらします。私が(提出)ボタンを押したときに
は、それからそれはに私をもたらします:
www.example.dev/public/controller_example/ method_example
完璧!まさに私が欲しいものです。
私はフォームに戻ってきましたが、方法(method_example)は過去です。
しかし、もう一度送信ボタンを押すと失敗します。
私は今持っURLは次のとおりです。
www.example.dev/public/controller_example/ controller_example/method_example
と再びそれを打つ:
www.example.dev/public/controller_example/controller_example/ controller_exampleを
上/ method_example
ので、この時に立ち往生しそうイム、右の誰もそれを得ることができません?
ps:私の悪い私の考えは、私はオランダ語です。
'戻る'ボタンを押すと、ブラウザのアドレスバーに 'www.example.dev/public/controller_example /'または '/ controller_example'が前に付加されてアクションURLが生成されている可能性があります。確実に静的絶対パスを使用することを検討してください。 – revo
私はバックボタンを使用していないので、送信ボタンを押すだけです。フォームのアクションは最初のURLにのみメソッドを持ちますので、コントローラー - >メソッドを呼び出すとモデルはPOST [データ]を処理して返すようになります。 controller-> methodeは私をフォームに戻します。結果のみで –
絶対パスでは完全なURLで同じ問題が発生する –