我需要在写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 中的用户名变量吗?
在 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