例
http://日本語ドメイン.jp /%postname%で各記事を表示しています。
↑と同じことをワードプレスを使用せず、自分で作ったホームページでするためにはどのような対応をすればよろしいでしょうか?
尚、環境はエックスサーバーを使用。フレームワーク等の使用なし。index.phpやaaa.phpの記事に直接HTMLを書き込んでいます。
かんたんに書くとこんな感じね。
RewriteEngine on RewriteBase / # index.phpはそのままにするわ。 RewriteRule ^index\.php$ - [L] # その他はぜんぶaaa.phpのパラメータにしちゃうわね。 RewriteCond %{REQUEST_URI} !^aaa\.php$ RewriteRule ^(.*)$ aaa.php?postname=$1 [L]
かんたんに書くとこんな感じね。
RewriteEngine on RewriteBase / # index.phpはそのままにするわ。 RewriteRule ^index\.php$ - [L] # その他はぜんぶaaa.phpのパラメータにしちゃうわね。 RewriteCond %{REQUEST_URI} !^aaa\.php$ RewriteRule ^(.*)$ aaa.php?postname=$1 [L]
フォルダで日本語表示というやり方
phpなんかにパラメータで渡す方法はURLエンコードされるからあんまり心配ないけどフォルダ名を日本語にしちゃて文字化けしないようにするのはかなり面倒だからまずやらないわよ。
誠にありがとうございました!
できる方のコードをみると勉強なります!(*^_^*)
質問は、ドメイン名だけでなく、パス名を含めて日本語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>
「アドレス欄に表示されるものはブラウザ任せ」ということはなく、最新のブラウザであれば日本語表示できます。
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
誠にありがとうございました!
大変勉強なりました(*^_^*)
phpなんかにパラメータで渡す方法はURLエンコードされるからあんまり心配ないけどフォルダ名を日本語にしちゃて文字化けしないようにするのはかなり面倒だからまずやらないわよ。
2014/05/24 17:05:13誠にありがとうございました!
2014/05/25 14:09:51できる方のコードをみると勉強なります!(*^_^*)