ie では間違った URL を取得していますが、firefox と chrome では取得していません。
基本的に、テキスト検索と呼ばれるテキストフィールドがあります。ページを内部的にリダイレクトするために、htaccess で jQuery と rewriterule を使用しています。私は localhost にいて、すべてのファイルは test というフォルダーにあります。
firefox と chrome では、テキスト検索ボックスに「こんにちは」と入力し、Enter キーを押し、「こんにちは」と入力して Enter キーを押し、「さようなら」と入力すると、正しい URL が次のように表示されます。
ローカルホスト/テスト/テスト/こんにちは
と
ローカルホスト/テスト/テスト/こんにちは
と
ローカルホスト/テスト/テスト/さようなら
それぞれ。
つまり、あなたは得る
ローカルホスト/テスト/テスト/こんにちは
と
ローカルホスト/テスト/テスト/テスト/こんにちは
と
ローカルホスト/テスト/テスト/テスト/テスト/さようなら
それぞれ
ここでの問題は、'testing' が前に付いていることです。これがieで起こらないようにする方法。この問題に対する答えは、Web 上では見つかりませんでした。
html および jquery コード
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<base href="http://localhost/test/" />
<script src="jQuery.js"></script>
<script>
$(document).ready(function(){
$("#text-search").keyup(function(e){
if (e.keyCode == 13){
window.location.replace("testing/"+$('#text-search').val());
}
})
})
</script>
</head>
<body>
<input type='text' id='text-search'>
</body>
</html>
.htaccess
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^testing/(.+)$ /test/testing.php?string=$1 [L]
これについて私を助けてくれませんか。どうもありがとう