【いいねボタン・改】URLから拡張子を隠すと動作しない

do | 創作・同人サイト制作支援サイト フォーラム プログラム設置・編集について 【いいねボタン・改】URLから拡張子を隠すと動作しない

  • このトピックは空です。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #3115 返信
    綿津見
    ゲスト

    はじめまして。
    色々調べてみたのですが解決できず、こちらに投稿させていただきます。
    不慣れなため、おかしな言い回しもあるかと思いますが、ご容赦いただければと思います。

    .htaccessでURLから拡張子を隠す設定をしていると、ボタンを押す動作は問題なくできるのですが、いいねされたというデータが送られない?ようで、csvファイルも作成されませんでした。

    ブラウザのデベロッパーツールでコンソールを見たところ、拡張子ありの場合はボタンを押すとコンソールに[1,true]と出るのですが、拡張子なしの場合だと[0,false]になりました。

    .htaccessで設定しているのは以下の通りです。

    RewriteEngine on

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

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

    RewriteCond %{THE_REQUEST} \.(php|html)\ HTTP
    RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]

    利用サーバーはさくらサーバーで、.htaccessから上記の設定を消すことで正常に作動することは確認済みです。

    URLから拡張子を消す設定をしたまま、いいねボタン・改を利用するにはどうしたら良いでしょうか…?

    ご教示いただけましたら幸いです。
    よろしくお願いいたします。

    #3119 返信
    ims
    ゲスト

    こんにちは。

    .htaccessの記述部分のうち

    RewriteCond %{THE_REQUEST} \.(php|html)\ HTTP
    RewriteRule ^(.*)\.(php|html)$ /$1 [R=301,L]

    部分で、.phpへのアクセスがあった場合に拡張子のないURLへリダイレクトしています。おそらくですが、これが原因でjs内から_ajax.phpへアクセスした際にエラーが発生するため、動作しなくなっているのかと思います。

    一度上記部分の記述を消して動作させてみてください。おそらく、問題なく動作すえると思います。

    解決方法としては、絶対にリダイレクトさせなくてもいいのであれば、リダイレクトはさせないことが解決策かと思います。また、どうしてもリダイレクトさせたい場合は、リダイレクトの除外設定を作成してはいかがでしょうか?

    #3120 返信
    綿津見
    ゲスト

    ims様

    ご助言いただきありがとうございます。

    早速試してみたところ、リダイレクトの除外設定をすることで無事に動作しました。

    解説もわかりやすく、とても助かりました。本当にありがとうございました!

3件の投稿を表示中 - 1 - 3件目 (全3件中)
返信先: 【いいねボタン・改】URLから拡張子を隠すと動作しない
あなたの情報: