0

http://www.mysite.com/usernameと書くと 、ユーザー名がパラメーターとして index.php に送信される必要があります

例: http://www.mysite.com/index.php?user=username

htaccessでどうすればいいですか?他のアイデアはありますか?

4

3 に答える 3

1

次のように 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]
于 2013-02-20T13:32:55.290 に答える
0

では、要求されたページの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変数をもっと読みたい場合もあります。

于 2013-02-20T13:37:53.940 に答える
0

次の 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&paramnumber=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?username=$1&paramstring=$2
于 2013-02-20T13:43:25.697 に答える