人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ワードプレスで、

http://日本語ドメイン.jp /%postname%で各記事を表示しています。

↑と同じことをワードプレスを使用せず、自分で作ったホームページでするためにはどのような対応をすればよろしいでしょうか?

尚、環境はエックスサーバーを使用。フレームワーク等の使用なし。index.phpやaaa.phpの記事に直接HTMLを書き込んでいます。




●質問者: ak
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 井戸端さん
●50ポイント ベストアンサー

かんたんに書くとこんな感じね。

RewriteEngine on
RewriteBase /

# index.phpはそのままにするわ。
RewriteRule ^index\.php$ - [L] 

# その他はぜんぶaaa.phpのパラメータにしちゃうわね。
RewriteCond %{REQUEST_URI} !^aaa\.php$
RewriteRule ^(.*)$ aaa.php?postname=$1 [L]

akさんのコメント
コメントありがとうございます。 ワードプレスでは%postname%の部分が日本語表示されます。 頂いたものも全て日本語のドメインになりますでしょうか?

井戸端さんさんのコメント
アドレス欄に表示されるものはブラウザ任せよ。制御できないわ。

akさんのコメント
ありがとうございます(*^_^*)

井戸端さんさんのコメント
>> ワードプレスではどんな仕組みなんでしょうか? << WordPressも.htaccessでRewriteしてるのよ。 記事の一部を引用してるけど全体通して読んでみてね。 [http://csspro.digitalskill.jp/%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB/%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9/htaccess%E3%82%92wordpress%E3%81%A7%E5%BE%B9%E5%BA%95%E6%B4%BB%E7%94%A8/:title] >> WordPressがルートディレクトリにインストールされている場合 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress WordPressが「blog」というサブディレクトリにインストールされている場合 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule> # END WordPress <<

井戸端さんさんのコメント
>> フォルダで日本語表示というやり方 << phpなんかにパラメータで渡す方法はURLエンコードされるからあんまり心配ないけどフォルダ名を日本語にしちゃて文字化けしないようにするのはかなり面倒だからまずやらないわよ。

akさんのコメント
誠にありがとうございました! できる方のコードをみると勉強なります!(*^_^*)

2 ● snow0214
●50ポイント

質問は、ドメイン名だけでなく、パス名を含めて日本語URLで表示したいということですね。

エックスサーバーなのでApacheを利用しているという前提で回答します。もし違っているようでしたら、ご利用のOS、Webサーバ、ブラウザの種類とバージョンをお知らせください。

まず、日本語で "日本語表示" というフォルダ名を切ってください。
ここで、WebFTPの文字コードとサーバOSの文字コードを合わせる必要があります。SJIS / EUC-JP / UTF-8 のいずれかになるかは、OSによりけりです。サーバ管理者にファイルの文字コードを確認してください。
http://www.xserver.ne.jp/manual/man_tool_file.php

"日本語表示" フォルダが作成できたら、次のHTMLファイル(UTF-8でセーブすること)を "税理士" フォルダの直上に配置してください。("日本語表示" フォルダの直下に "index.html" を配置して下さい)

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>日本語URL</title>
<body>
<ul>
<li><a href="./日本語表示/index.html">日本語表示</a></li>
</ul>
</body>
</html>

「アドレス欄に表示されるものはブラウザ任せ」ということはなく、最新のブラウザであれば日本語表示できます。


井戸端さんさんのコメント
>> 「アドレス欄に表示されるものはブラウザ任せ」ということはなく、 << おかしなことを言うわね。 URLエンコードされた文字列で表示するか日本語に直すかはブラウザがやってるのよ。 あなた自身が続けて書いてるじゃない。 >> 最新のブラウザであれば日本語表示できます。 << それにsnow0214さんのやりかただと記事の数だけファイルを作るってことになるわ。 ワードプレスのようにURLに記事名を入れてphpプログラムにパラメータを渡す仕組みにはなってないわよ。

akさんのコメント
井戸端さん、snow0214さん、 お二人の大変高い知識、勉強なります。 ありがとうございます。 フォルダで日本語表示というやり方あるんですね(*^_^*) 私が求めていることができそうですね。。 ただ、1点気になったのが、ワードプレスではどんな仕組みなんでしょうか? 1個1個フォルダを作っているわけではないですよね? コードなどは必要なかったので、 もしご存知でしたらどなたか、 ”こんな仕組みでわたしてるんだよ” みたいザックリで結構なのでご教授いただけると幸いです。

snow0214さんのコメント
Apacheのhttpd.confファイルにバーチャルホスト(例:www.hoge.com)を設定し、リクエストは /publiuc_html/www.hoge.com/index.php にしておきます。 次に、.htaccessに下記のようなURLリダイレクト設定がなされており、日本語ディレクトリ名と日本語ファイル名がindex.phpに渡され、index.phpで正しい静的コンテンツまたは動的コンテンツに橋渡ししてやります。 >|| # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress ||<

akさんのコメント
誠にありがとうございました! 大変勉強なりました(*^_^*)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ