ラベル .htaccess の投稿を表示しています。 すべての投稿を表示
ラベル .htaccess の投稿を表示しています。 すべての投稿を表示

2013年10月12日土曜日

.htaccess拡張子なしでアクセスできるようにする



URLは短いほうが覚えてもらいやすいので
拡張子などもなくしてしまったほうがいいかと思ったりする場合
.htaccessをつかってその方法を記しておきます。

例:phpの拡張し無しでアクセスできるようする。


phpの拡張し無しでアクセスできるようする

http://www.example.co.jp/a.php



http://www.example.co.jp/a

でも同じように表示されるようにする.htaceess
の記載方法

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php
3行目、4行目の php 部分を他の拡張子(htmlなど)に変えれば
拡張子なしでもアクセスできるようになります。
拡張しが付けたままのURLでもアクセスできます。

2013年10月1日火曜日

.htaccessを使ってパラメータがないURLを作りたい。

.htaccessを使ってパラメータがないURLを作りたい

.htaccessを使ってパラメータがないURLを作りたいと考えることはありませんか?
検索エンジンは、複雑な構造のURLもクロールすることができますが
不可解なパラメータや長いURLになると、
ユーザーが不要だと誤解してしまったり、
URLの一部が削られてしまって、適切なコンテンツがソーシャルにシェアされていかない
そんなことが考えられます。
できるだけURLはシンプルにしたいと思うものです。

.htaccessを使えばパラメータがないシンプルな
URLに書き換えることが可能です。

こちらでは
パラメータが1つの場合
それから2つの場合を紹介します。


パラメータが1つの場合


Before
http://www.example.co.jp/index.php?page=1

After
http://www.example.co.jp/1/
もしくは
http://www.example.co.jp/1

という具合に表示したい場合
.htaccessを以下のように記述する

記述例

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([0-9]+)$ /index.php?page=$1 [L]
RewriteRule ^/([0-9]+)/$ /index.php?page=$1 [L]

解説

1行目でmod_rewriteのリライトを使う宣言
2行目、3行目は実在するファイルやディレクトリにはリダイレクトを適用しない旨。
4行目は /1 と入力した際に index.php?page=1にアクセスする記載
5行目は /1/ と入力した際に index.php?page=1にアクセスする記載



パラメータが2つの場合


Before
http://www.example.co.jp/index.php?page=1&category_id=2

After
http://www.example.co.jp/1/2/
もしくは
http://www.example.co.jp/1/2

記述例

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/$ index.php?page=$1&category_id=$2 [L]
RewriteRule ^([0-9a-zA-Z_-]+)/([0-9a-zA-Z_-]+)/$ index.php?page=$1&category_id=$2 [L]


解説

1行目でmod_rewriteのリライトを使う宣言
2行目、3行目は実在するファイルやディレクトリにはリダイレクトを適用しない旨。
4行目は /1/2 と入力した際に index.php?page=1&category_id=2にアクセスする記載
5行目は /1/2/ と入力した際に index.php?page=1&category_id=2にアクセスする記載



末尾の[L]は
パターンに一致した場合、このルールで、Rewrite 機能による変換を打ち切ります。
続くルールは適用されなくなることをあらわしています。

関連時事

人気の投稿