「MediaWikiのURLからindex.phpを消す」の版間の差分
編集の要約なし |
detailsタグとsummaryタグの挿入 |
||
1行目: | 1行目: | ||
MediaWikiの1.40.1バージョンではURLは、<code>index.php=title?XXX</code>と全てindex.phpの引数としてURLが生成されるのですが、このURL構造を変更してindex.phpを消して<pre>https://your-site.com/pagename</pre>のようにウィキペディアと同じようなURL構造に変更します。 | MediaWikiの1.40.1バージョンではURLは、<code>index.php=title?XXX</code>と全てindex.phpの引数としてURLが生成されるのですが、このURL構造を変更してindex.phpを消して<pre>https://your-site.com/pagename</pre>のようにウィキペディアと同じようなURL構造に変更します。 | ||
== LocalSettings.phpの編集 == | <details open> | ||
<summary>== LocalSettings.phpの編集 ==</summary> | |||
まずはLocalSettings.phpを編集します。 | まずはLocalSettings.phpを編集します。 | ||
<pre> | <pre> | ||
9行目: | 10行目: | ||
</pre> | </pre> | ||
<code>$wgScriptPath</code>の変数は、LocalSettings.phpの序盤に定義されていますので注意が必要です。この<code>$wgScriptPath</code>変数が定義されている後に上記のコードを記述する必要があります。 | <code>$wgScriptPath</code>の変数は、LocalSettings.phpの序盤に定義されていますので注意が必要です。この<code>$wgScriptPath</code>変数が定義されている後に上記のコードを記述する必要があります。 | ||
</details> | |||
== .htaccessの作成・編集 == | <details open> | ||
<summary>== .htaccessの作成・編集 ==</summary> | |||
2つ目は.htaccessを作成または編集します。この.htaccessはMediaWikiをインストールしたルートディレクトリになります。 | 2つ目は.htaccessを作成または編集します。この.htaccessはMediaWikiをインストールしたルートディレクトリになります。 | ||
<pre>https://your-site/</pre> | <pre>https://your-site/</pre> | ||
34行目: | 37行目: | ||
上記の編集が完了して保存したら、2つのファイルをアップロードします。<br> | 上記の編集が完了して保存したら、2つのファイルをアップロードします。<br> | ||
</details> | |||
== URLからindex.phpを消す意味 == | <details open> | ||
<summary>== URLからindex.phpを消す意味 ==</summary> | |||
URLからindex.phpを消す意味とはなんですか?と良く聞かれるのですが、これには諸説あります。 | URLからindex.phpを消す意味とはなんですか?と良く聞かれるのですが、これには諸説あります。 | ||
*<code>index.php=title?XXX</code>というURLだと、index.phpに関連するページということでGoogleなどの検索エンジンに同じページの関連ページとしてみなされるためSEO上不利になる | *<code>index.php=title?XXX</code>というURLだと、index.phpに関連するページということでGoogleなどの検索エンジンに同じページの関連ページとしてみなされるためSEO上不利になる | ||
45行目: | 50行目: | ||
<pre>https://your-site/wiki/XXX</pre> | <pre>https://your-site/wiki/XXX</pre> | ||
としたのは、完全に2つ目の理由です。やっぱりURLはindex.phpがないほうがカッコいいよねってだけです。 | としたのは、完全に2つ目の理由です。やっぱりURLはindex.phpがないほうがカッコいいよねってだけです。 | ||
</details> | |||
== 動作環境 == | <details open> | ||
<summary>== 動作環境 ==</summary> | |||
* [https://www.mediawiki.org/wiki/Download/ja MediaWiki ver 1.40.1] | * [https://www.mediawiki.org/wiki/Download/ja MediaWiki ver 1.40.1] | ||
* [https://www.mediawiki.org/wiki/Skin:Vector/2022/ja Skin:ベクター/2022年版] | * [https://www.mediawiki.org/wiki/Skin:Vector/2022/ja Skin:ベクター/2022年版] | ||
</details> | |||
== 参考資料 == | <details open> | ||
<summary>== 参考資料 ==</summary> | |||
* [https://mirukupc.com/2022/09/04/?p=326 ミルクPCのブログ] | * [https://mirukupc.com/2022/09/04/?p=326 ミルクPCのブログ] | ||
* [https://manten-do.net/archives/790 萬巓堂本店] | * [https://manten-do.net/archives/790 萬巓堂本店] | ||
</details> | |||
[[Category:MediaWikiについての備忘録]] | [[Category:MediaWikiについての備忘録]] |
2024年9月29日 (日) 13:04時点における最新版
MediaWikiの1.40.1バージョンではURLは、index.php=title?XXX
と全てindex.phpの引数としてURLが生成されるのですが、このURL構造を変更してindex.phpを消して
https://your-site.com/pagename
のようにウィキペディアと同じようなURL構造に変更します。
LocalSettings.phpの編集
まずはLocalSettings.phpを編集します。
$wgScript = "$wgScriptPath/index.php"; $wgRedirectScript = "$wgScriptPath/redirect.php"; $wgArticlePath = "$wgScriptPath/$1";
$wgScriptPath
の変数は、LocalSettings.phpの序盤に定義されていますので注意が必要です。この$wgScriptPath
変数が定義されている後に上記のコードを記述する必要があります。
.htaccessの作成・編集
2つ目は.htaccessを作成または編集します。この.htaccessはMediaWikiをインストールしたルートディレクトリになります。
https://your-site/
直下なら
https://your-site/.htaccess
https://your-site/wiki/
とWikiをイントールしたなら
https://your-site/wiki/.htaccess
に置きます。
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?title=$1 [L,QSA]
RewriteBase /
はMediaWikiをインストールしたディレクトリによって変更します。
https://your-site.com/
にMediaWikiをインストールしたならこのまま変更無し、
https://your-site.com/wiki/にMediaWikiをインストールしたなら、/wiki/と編集します。
ファイルを保存する時は、文字コードUTF-8改行はLFにすることを忘れないようにしてください。
上記の編集が完了して保存したら、2つのファイルをアップロードします。
URLからindex.phpを消す意味
URLからindex.phpを消す意味とはなんですか?と良く聞かれるのですが、これには諸説あります。
index.php=title?XXX
というURLだと、index.phpに関連するページということでGoogleなどの検索エンジンに同じページの関連ページとしてみなされるためSEO上不利になるindex.php=title?XXX
でも、Googleの検索エンジンには影響はない。だがURL的にカッコ悪い。これは、単にindex.phpから引数でページを読みこんでいるURLがかっこ悪くて、
https://your-site/wiki/XXX
となっているほうがスタイリッシュという技術屋あるあるな自己満足的カスタムです。
ちなみに、当サイトが
https://your-site/wiki/XXX
としたのは、完全に2つ目の理由です。やっぱりURLはindex.phpがないほうがカッコいいよねってだけです。