在地址栏中显示时跳过路径中的文件夹名称

时间:2011-06-08 21:43:04

标签: php .htaccess url hide

我希望文件夹名称不会显示在地址栏中。示例:隐藏“members”文件夹:

www.mysite.com/members/jonesmith/index.php

www.mysite.com/members/tome/index.php

www.mysite.com/members/jerry/index.php

...等

我想把这些链接放在这样:

www.mysite.com/jonesmith/index.php

www.mysite.com//tome/index.php

www.mysite.com/jerry/index.php

...等

当点击链接时,地址栏将显示相同的内容,即没有“成员”。

我需要这样才能使会员的网页或网址缩短。

当然,在会员页面中点击的任何链接都不会在地址栏中显示“成员”。

很快:文件夹“members”存在,但每个级别的访问者都看不到它。

任何想法使用PHP脚本,javascript,.htaccess ..等等?

2 个答案:

答案 0 :(得分:2)

如果使用Apache,可以使用mod_rewrite模块。

http://httpd.apache.org/docs/current/rewrite/

我确信IIS支持这样的东西。

答案 1 :(得分:-1)

你可以使用.htaccess和mod_rewrite通过预先挂起的/成员来重写URL。

Options FollowSymLinks
RewriteEngine On

RewriteBase /~user

RewriteCond %{REQUEST_URI} !/~user/members/
RewriteRule ^(.*)$ /~user/members/$1 [L]

我想删除〜用户的设置可能会有效,但是我的测试会重写路径,例如/~user/a/image.gif - > /~user/members/a/image.gif。

也许更完整的解决方案在以下线程中,如果有人提供包含它的URL,则添加一些规则来删除隐藏的子目录: http://www.webmasterworld.com/apache/3588649.htm