我想要这样的事情:
http://www.someniceandreliableurl.com/username
并抓住用户名。
我想制作像twitters / facebook / etc quick urls ...
twitter.com/username
我怎么能用php制作这样的东西? =)提前谢谢你。
答案 0 :(得分:8)
在 .htaccess 文件中使用 mod_rewrite :
RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteCond %{REQUEST_FILENAME} -f [NC,OR]
RewriteCond %{REQUEST_FILENAME} -d [NC]
RewriteRule .* - [L]
RewriteRule ^(.*)$ /foo.php/$1 [QSA,L]
foo.php 是您显示快速网页的脚本。
然后在 foo.php (或任何你命名的内容)中,你可以在$_SERVER['PATH_INFO']
中找到用户名。
前5行打开 mod_rewrite ,并允许重写规则忽略实际的文件/文件夹/脚本。最后一个重写所有不是罚款/文件夹/脚本的网址。
答案 1 :(得分:6)
您可以在apache中使用RewriteRule将site.com/user转换为site.com/loadpage.php?user=user
RewriteEngine On
RewriteRule ^/([a-z0-9]+) /load_user.php?user=$1 [NC,L,QSA]
答案 2 :(得分:1)
您需要让网络服务器将该网址重写为包含您可以从PHP访问的数据的查询字符串。您的PHP脚本是否适用于
等网址http://www.someniceandreliableurl.com/?user=username
然后确保apache已安装mod_rewrite并允许您使用.htaccess。然后使用重写规则创建一个.htaccess文件,例如
RewriteEngine On
RewriteRule ^/(.*)$ /?user=$1 [QSA]
答案 3 :(得分:0)
在Apache中检出ModRewrite或使用提供路由的php框架。这通常基于$ENV['PHP_SELF']
变量,它允许您在PHP代码中执行更多操作,而这通常是您在ModRewrite中必须执行的操作。它将返回主机名后面的url部分,以便您可以执行http://exmaple.com/index.php/username/profile之类的网址。