0

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

我想做的是:

1) 将所有非分机地址重定向到它们的页面。例如:主页 -> home.php

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

它完全像脸书和推特!就像你输入“home”一样,它会进入主页,如果你输入用户名,它会进入你的个人资料!

我怎么能做这样的事情?


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

www.example.com/this/is/test

将会:

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

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

4

1 回答 1

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用于反向引用它们。

于 2013-01-19T10:44:33.673 回答