php,.htaccess - 将非扩展名重定向到索引+将用户名重定向到用户页面

时间:2013-01-19 08:45:56

标签: php .htaccess redirect

我在google和stackoverflow中搜索了很多,但没有找到完整的答案......

我想做的是:

1)将所有非扩展地址重定向到其页面。例如:home - > home.php

2)将用户名重定向到搜索用户名的页面(如果存在),然后加载另一个页面。例如:www.example.com/michael将重定向到go.php并获取“michael”并且如果用户存在;转到user.php?id = michael

它完全像facebook和twitter!如果您键入“home”,它会转到主页,如果您输入用户名,则会转到您的个人资料!

我怎么能这样做?


编辑:或者可能是.htaccess在第一个斜杠之后向页面发送任何内容。例如:

www.example.com/this/is/test

将是:

www.example.com/index.php?var1=this&var2=is&var3=test

然后index.php页面将决定做什么......

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/([^/]+)?/?([^/]+)?/?([^/]+)?/?   [NC]
RewriteRule .*     index.php?var1=%1&var2=%2&var3=%3   [L]

无声地映射

http://www.example.com/this/is/test

http://www.example.com/index.php?var1=this&var2=is&var3=test

所有参数均为可选参数,最多为3个。

如果需要更多内容,请为

右端的每个添加([^/]+)?/?

RewriteCond %{REQUEST_URI}

将相应的键(varN)添加到RewriteRule中的index.php查询中,使用%N来引用它们。