2011-11-18 119 views
1

想知道是否有可能获得不同的URL路径重定向到一个单一的PHP文件,我可以从网址拉名称。URL路径重定向到一个单一的PHP文件

即如果我有www.example.com/username或www.example.com/username2或www.example.com/username3

我希望它重定向到一个username.php文件,然后我就可以从URL获取用户名并从数据库加载信息。

如果没有人有任何想法,我怎么能做类似的事情。 tumblr做类似的事情,你只需在url中输入一个用户名,然后加载他们的博客。

+0

你可以为此做URL重写。 – 2011-11-18 10:22:00

+0

正如我上面的人所说,可以通过重写来完成。这将是Web服务器特定的,所以你使用什么Web服务器? – Corbin

+0

我正在使用apache服务器,我把它放在.htaccess文件中吗? – Jason

回答

2

当然是的,它可能由于URL重写!退房Apache mod rewrite

为了您的信息,比如你想重写规则可能看起来像:

RewriteEngine On 
RewriteRule ^/username(.*) /username.php?user=username$1 [QSA,L] 

我敢肯定,这将工作。只需在您的服务器中激活mod_rewrite即可。

+0

感谢为 – Jason

+0

得到它:(。*)? 选项+的FollowSymLinks RewriteEngine叙述 在 重写规则页面的index.php用户名= $ 1 [QSA,L] 含义:www.example。/页 - 获取重定向 ----------- RewriteRule^page /(.*)/index.php?username=$1 [QSA,L] - 获取www.example.com/页面/用户名 – Jason

+0

完美(即使您的评论中的解决方案并不完全符合您的要求,我的答案可帮助您走上正确的轨道,这是最重要的;)) –

0

当u要打开www.example.com/page/username Web服务器将重定向到www.example.com/index.php?username=username1 用,你可以给一个页面,每个用户

实际上它们与重写引擎像

www.example.com/index.php?username=username1 
www.example.com/index.php?username=username2 
www.example.com/index.php?username=username3 

页面他们可以像这样访问。

www.example.com/page/username 
www.example.com/page/username2 
www.example.com/page/username3 

的.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^page/(.*) /index.php?username=$1 [QSA,L] 
+0

啊,我明白了。感谢您的帮助..生病让我知道如果我得到它的工作 – Jason

+0

我已经把下面的.htaccess文件中: – Jason

+0

选项+ FollowSymLinks RewriteEngine在 RewriteRule^page /(.*)index.php?username = $ 1 [QSA,L] 但它没有加载索引文件的CSS,我做错了什么? – Jason

-1

是的,这称为FrontController模式,通常使用重写规则来实现。对于Apache2的一个稍微不同的方法的一个例子是:

<VirtualHost *:80> 
    ServerName quickstart.local 
    DocumentRoot /path/to/quickstart/public 

    SetEnv APPLICATION_ENV "development" 

    <Directory /path/to/quickstart/public> 
     DirectoryIndex index.php 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

这一个从Zend Framework Manual,在那里你找到FrontController Pattern的一个实际的例子服用。基本上,所有请求都发送到一个文件(在本例中为index.php),并从那里处理,通常通过将请求路由到另一个控制器。

+0

如何运作? –

+0

好点,补充说明信息。 – Lars

+0

它如何在提供的配置方面工作?哪一行负责将用户的请求路由到你的模式,控制器和其他很酷的东西? –

相关问题