メンバーのレコード (プロファイル) を表示するために ID を使用しています。
したがって/profile.php?id=1
、ID 1 のメンバーのデータが表示されます。
しかし、これらの URL は醜く、SEO フレンドリーでもありません。
URLを次の形式に変更したいprofiles/membername
(メンバー名は、データベースにすでに保存されている各メンバーの一意のエイリアスです)。
.htaccess を介してこのリンク構造を実現するにはどうすればよいですか?
メンバーのレコード (プロファイル) を表示するために ID を使用しています。
したがって/profile.php?id=1
、ID 1 のメンバーのデータが表示されます。
しかし、これらの URL は醜く、SEO フレンドリーでもありません。
URLを次の形式に変更したいprofiles/membername
(メンバー名は、データベースにすでに保存されている各メンバーの一意のエイリアスです)。
.htaccess を介してこのリンク構造を実現するにはどうすればよいですか?
これには、apacheのmod_rewriteモジュールをインストールする必要があります。次のコードを使用して、必要なことを実現できます。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^profiles/(.*)?$ profile.php?id=$1
</IfModule>
例:www.yourwebsite.com/profiles/1234-> www.yourwebsitename.com/profile.php?id=1234さらに変数が必要な場合は、上記の行を次のように変更してください。
RewriteRule ^profiles/(.*)/(.*)?$ profile.php?id=$1&var2=$2
.htaccessファイルを編集して上記の行を追加するだけです。変更を加える前に、必ず.htaccessのバックアップを作成してください。
まず、問題に関するいくつかの記事を参照して くださいhttp://httpd.apache.org/docs/2.2/howto/htaccess.html
RewriteEngine On
RewriteRule ^profiles/(a-z0-9]+)$ /profile.php?username=$1 [L,QSA]
たとえば/profiles/membername
--->/profile.php?username=membername