1

私は htaccess を初めて使用し、AJAX を介した POST 値に問題があります。

htaccess をいじり始める前はすべてが機能していたので、おそらく簡単な修正です。

投稿の値が AJAX を介して失われています。htaccess を使用してサフィックス (php) を削除するように URL を書き直したことが原因だと思います。通常のスクリプト (つまりログイン) で POST 値に問題がありましたが、これは書き換え条件を追加することで解決されました。

私のコードの下を見てください:

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php  
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^index.php / [L,R=301]
4

1 に答える 1

0

問題はあなたのRタグです。これにより、リダイレクトが発生します。残念ながら、初期の Web ブラウザーは HTTP 仕様に従っておらず、GET を使用して、指定された新しい URL を要求していました。これにより、HTTP が変更されました (308 コードの導入など)。

基本的に、GET リクエスト以外の外部リダイレクトを確実に発行することはできません。代わりに内部リダイレクト (再書き込み) を使用してください。つまり、R最初のRewriteRule.

于 2013-07-15T07:36:25.203 に答える