0

いくつかの調査の後、あきらめてここに投稿します。誰かが私に何かを明確にすることができれば、それは素晴らしいことです、ありがとう

http://site.com/file.php?url=2012/08/15/My-html-pageを使用するとすべて正常に動作し、ajax は file.php に投稿を送信して表示しますが、書き換えたものを使用するとhtaccess URL http://site.com/2012/08/15/My-html-page.html投稿フォームで何もしない、それはうまくいかない

リンク:

オリジナル : http://site.com/file.php?url=2012/08/15/My-html-page

htaccess で書き換え: http://site.com/2012/08/15/My-html-page.html

データベース エントリ : 2012/08/14/My-first-post

追加したhtml agterページを追加するには

$url=$url.'.html'; 
$url= $_GET["url"];

file.php にある私の ajax

<SCRIPT language="JavaScript">

$(function() {
$(".comment_button").click(function()
{

var element = $(this);
var note = $("#note").val();
var dataString = 'note='+note;


if(note=='')
{
$('#flash').fadeIn("fast");
}
else
{
 $.ajax({
 type: "POST",
 url: "file_post.php",
 data: dataString,
 cache: false,
 success: function(html){
 $('body').load('/<? echo $url ?>.html');
 }
 });
 }
return false;
});
});
</script> 

file.php の私のフォーム

 <form name="comment" method="post" action>

 <button class="comment_button" type="submit"><span>Отправить</span></button>
 <textarea name="note" id="note"></textarea>
 </form> 

file_post.php の私の php ファイル

if(isSet($_POST['note']))  {

$note=$_POST['note'];
$note = html_entity_decode($note);
$date=date("Y-m-d");
$time=date("H:i:s");

$table = "insert into comment (note, date, time) values ('$note', '$date', '$time');";
mysql_query($table);


}

私のhtaccess

 Options +FollowSymLinks
 Options -Indexes
 RewriteEngine On
 RewriteBase /

<Files inc/config.php>
deny from all
</Files>

RewriteRule ^([a-zA-Z0-9-/]+).html$ file.php?url=$1 [QSA,L]
RewriteRule ^([a-zA-Z0-9-/]+).html/$ file.php?url=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

書き換えられたページの $_SERVER['REQUEST_URI'] は空の入力を返しますが、それは正常ですか?

4

2 に答える 2

0

エラーの内容はわかりません。スラッシュまたは数字と htaccess を含むものですが、次の方法で解決策を見つけました。

RewriteRule ^read/([A-Za-z0-9\-_]+]*)$ file.php?url=$1 [L] 

html または php なし

于 2012-08-15T20:41:41.283 に答える
0

2 つのルールを次のように変更してみてください。

RewriteRule ^([a-zA-Z0-9-/]+).html$ file.php?url=$1.html [QSA,L]
RewriteRule ^([a-zA-Z0-9-/]+).html/$ file.php?url=$1.html [QSA,L]

あなたの.htmlfile.phpスクリプトが次のように呼び出されるようになっているので、

http://site.com/file.php?url=2012/08/15/My-html-page

それ以外の

http://site.com/file.php?url=2012/08/15/My-html-page.html
于 2012-08-15T17:54:40.213 に答える