我写http://www.mysite.com/username时需要 用户名作为参数发送到index.php
示例:http://www.mysite.com/index.php?user=username
我怎么能用htaccess?你有其他想法吗?
答案 0 :(得分: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]
答案 1 :(得分:0)
您希望能够在所请求页面的PHP中读取用户名变量吗?
在PHP中,您将以最基本的形式
执行此操作 <?php echo $_GET['username']; ?> // That will print the variable value on the page
重要。如果您使用它来获取或编辑数据库中的数据,则需要先清理或sanitize that variable以防止SQL注入攻击。一个粗略的例子就是这样
<?php
$username = mysql_real_escape_string($_GET['username'];
echo $username;
?>
您可能还希望阅读更多PHP GET and POST variables.
答案 2 :(得分: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¶mnumber=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?username=$1¶mstring=$2