http://www.mysite.com/usernameと書くと 、ユーザー名がパラメーターとして index.php に送信される必要があります
例: http://www.mysite.com/index.php?user=username
htaccessでどうすればいいですか?他のアイデアはありますか?
http://www.mysite.com/usernameと書くと 、ユーザー名がパラメーターとして index.php に送信される必要があります
例: http://www.mysite.com/index.php?user=username
htaccessでどうすればいいですか?他のアイデアはありますか?
次のように htaccess にルールを記述してください。
RewriteEngine On
RewriteRule ^([a-zA-Z0-9-/]+)$ index.php?uniqname=$1 [QSA]
RewriteRule ^([a-zA-Z0-9-/]+)/$ index.php?uniqname=$1 [QSA]
フォルダを追加するには、これを使用します
RewriteEngine On
RewriteRule ^avatars/([a-zA-Z0-9-/]+)$ index.php?uniqname=$1 [QSA]
RewriteRule ^avatars/([a-zA-Z0-9-/]+)/$ index.php?uniqname=$1 [QSA]
では、要求されたページのPHPでusername変数を読み取れるようにしたいですか?
PHPでは、これを最も基本的な形式で行います
<?php echo $_GET['username']; ?> // That will print the variable value on the page
重要。これを使用してデータベース内のデータを取得または編集する場合は、SQLインジェクション攻撃を防ぐために、最初にその変数をクリーンアップまたはサニタイズする必要があります。これの大まかな例はそれ自体です
<?php
$username = mysql_real_escape_string($_GET['username'];
echo $username;
?>
PHPのGET変数とPOST変数をもっと読みたい場合もあります。
次の RewriteRules を使用できます。
//Only one parameter that defines username
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?username=$1
//If you need second parameter or a number only parameter
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([0-9]+)$ index.php?username=$1¶mnumber=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?username=$1¶mstring=$2