1

奇妙な問題に直面しています。フォームを送信するたびに、「すべてのフィールドが必要です」のようなエラーがポップアップ表示されます。デバッグすると、フォームが送信されるたびに、コントローラーに投稿データが取得されず、空の配列であることがわかりました。

私のローカルホストでは、すべてが正常に機能しています。.htacess私はそれを検索しましたが、これは私のファイルの問題であるという結論に達しました。それに末尾のスラッシュを追加するためのルールを設定しましたが、これが問題を引き起こすことがわかりました。

コンポーネントで特定のタスクを実行するためにこのルールを削除するにはどうすればよいですか。どんな提案も役に立ちます。末尾のスラッシュを追加するコードは次のとおりです。

RewriteEngine On

# Start –301 redirect for "http://" to "http://www"
rewritecond %{http_host} ^testdomain.com [nc]
rewriterule ^(.*)$ http://www.testsdomain.com/$1 [r=301,L]
# End - 301 redirect rule

# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*[^/]$ /$0/ [L,R=301]
4

2 に答える 2

0

以下のルールを変更して問題を解決し、作業を開始してURLに末尾のスラッシュを追加しました。将来、他の人に役立つことを願っています。

RewriteEngine On

# Start –301 redirect for "http://" to "http://www"
rewritecond %{http_host} ^testdomain.com [nc]
rewriterule ^(.*)$ http://www.testsdomain.com/$1 [r=301,L]
# End - 301 redirect rule

# add trailing slash
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.testdomain.com/$1/ [L,R=301]
于 2013-03-28T08:38:58.673 に答える
0

フォームの投稿先を確認してください。フォームactionがスラッシュなしの url の場合、フォームPOSTにリクエストすると、htaccess によってリダイレクトされ、GETデータを投稿するはずだったページにリクエストが送信されます。しかし、リクエストがリダイレクトされて に変更されたためGET、送信されるデータはありません。

解決策:フォーム アクションを修正するか、末尾のスラッシュを追加するコードを削除します。末尾のスラッシュについて言えば、私の知る限り、Joomla はそれなしで SEF リンクを生成するので、そもそもなぜそれを追加したのか疑問に思います。何かをクリックするたびにリダイレクトが行われます。

于 2013-03-28T08:30:55.550 に答える