do | 創作・同人サイト制作支援サイト › フォーラム › プログラム設置・編集について › 【いいねボタン・改】URLから拡張子を隠すと動作しない
- このトピックは空です。
-
投稿者投稿
-
綿津見ゲスト
はじめまして。
色々調べてみたのですが解決できず、こちらに投稿させていただきます。
不慣れなため、おかしな言い回しもあるかと思いますが、ご容赦いただければと思います。.htaccessでURLから拡張子を隠す設定をしていると、ボタンを押す動作は問題なくできるのですが、いいねされたというデータが送られない?ようで、csvファイルも作成されませんでした。
ブラウザのデベロッパーツールでコンソールを見たところ、拡張子ありの場合はボタンを押すとコンソールに[1,true]と出るのですが、拡張子なしの場合だと[0,false]になりました。
.htaccessで設定しているのは以下の通りです。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.htmlRewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.phpRewriteCond %{THE_REQUEST} \.(php|html)\ HTTP
RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]利用サーバーはさくらサーバーで、.htaccessから上記の設定を消すことで正常に作動することは確認済みです。
URLから拡張子を消す設定をしたまま、いいねボタン・改を利用するにはどうしたら良いでしょうか…?
ご教示いただけましたら幸いです。
よろしくお願いいたします。imsゲストこんにちは。
.htaccessの記述部分のうち
RewriteCond %{THE_REQUEST} \.(php|html)\ HTTP
RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]部分で、.phpへのアクセスがあった場合に拡張子のないURLへリダイレクトしています。おそらくですが、これが原因でjs内から_ajax.phpへアクセスした際にエラーが発生するため、動作しなくなっているのかと思います。
一度上記部分の記述を消して動作させてみてください。おそらく、問題なく動作すえると思います。
解決方法としては、絶対にリダイレクトさせなくてもいいのであれば、リダイレクトはさせないことが解決策かと思います。また、どうしてもリダイレクトさせたい場合は、リダイレクトの除外設定を作成してはいかがでしょうか?
綿津見ゲストims様
ご助言いただきありがとうございます。
早速試してみたところ、リダイレクトの除外設定をすることで無事に動作しました。
解説もわかりやすく、とても助かりました。本当にありがとうございました!
-
投稿者投稿