LimeSurveyのアンケートページアクセスURLを短くする
はじめに
LimeSurveyは、オープンソースのオンラインアンケートアプリケーションです。
PHP, MySQL環境で動作します。
・LimeSurvey
https://www.limesurvey.org/
インストールは、WordPressとほぼ同じような感じですので、それほど難しくないと思います。
一般的なレンタルサーバーにも導入可能です。
詳細なインストール手順は以下などを参照してください。
・インストール – LimeSurvey CE
https://manual.limesurvey.org/Installation_-_LimeSurvey_CE/ja
・CentOS7 LimeSurveyのインストール – UnixPower on Networking
https://www.unix-power.net/networking/post-736
・LimeSurvey関連ソフトウェアのインストール – SIOS TECH.LAB
https://tech-lab.sios.jp/archives/11699
LimeSurveyは機能が豊富なのですが、アンケートページのURLは管理ユーザーが設定することはできず、LimeSurveyが自動的に数字6桁を生成して、例えば、以下のようなURLとなります。
https://example.jp/index.php/737518?lang=ja
アンケート回答者にURLを周知する際、メールやWebサイトで周知するのであれば、URLリンクを記載して、回答者にリンクをクリックしてもらえばよいですね。
しかし、紙媒体や音声でURLを周知する場合は、URLをできるだけ短くしたいこともあるでしょう。
アンケートページのURLを短くする(1)
まず、URLパスから index.php を削除します。
これはLimeSurveyのConfigを修正します。
<インストールディレクトリ>/application/config/config.php
-- 変更前 'showScriptName' => true, -- -- 変更後 'showScriptName' => false, --
(参考)
・LimeSurvey CE FAQ
より短いURLにするためURLパスからindex.phpを削除するには
https://manual.limesurvey.org/General_FAQ/ja
※この方法は、Apache mod_rewriteモジュールを使用しているときのみ有効とのことです。
これで、URLパスから index.php が削除されて、次のようになりました。
https://example.jp/737518?lang=ja
アンケートページのURLを短くする(2)
さらに、
https://example.jp/q1
のように、アクセスURLを任意の文字列に変更したい場合は、mod_rewriteモジュールによるURLリダイレクト設定を行うとよいでしょう。
Apacheのhttpd.conf, VirtualHost Configや、.htaccess に、次のように記述します。
# URL Rewrite <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/q1$ RewriteRule ^.*$ /737518?lang=ja [R=301,L] </IfModule>
Nginxでしたら、こんな感じですね。
location = /q1 { rewrite ^(.*)$ /737518?lang=ja redirect; }
これで、回答者による
https://example.jp/q1
へのアクセスが
https://example.jp/737518?lang=ja
にリダイレクトされます。
※リダイレクトですので、ページ表示後のWebブラウザのURL表示は https://example.jp/737518?lang=ja となります。
また、LimeSurveyのトップページ
https://example.jp/
には、「次のアンケートが利用可能です」という表示がありますが、このページを隠して、アンケートページに転送する場合は、次のようになります。
Apacheの場合。
# URL Rewrite <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^.*$ /737518?lang=ja [R=301,L] </IfModule>
Nginxの場合。
location = / { rewrite ^(.*)$ /737518?lang=ja redirect; }
簡単な方法ですが、
「LimeSurvyeのアンケートページURLを短くする、任意の文字列とする」
方法はネット上にほとんどないようですので、まとめてみました。
他には、URL短縮サービスを利用方法もありますね。