2014-12-03 91 views
-1

我见过网站有个人资料页面,像'http://www.example.com/myusername/显示用户名'myusername''个人资料的人。我想知道如何做到这一点?如何做一个目录重定向

我见过有关如何使用htaccess完成此操作的示例,但它完成了重定向,不允许发布数据,获取数据等。我怎么能这样做?

+0

' .htaccess'是一个很好的开始。请显示你的'.htaccess'文件的内容,并具体描述你想要发生什么以及哪里出错。 – showdev 2014-12-03 01:03:45

+0

就像我说的,我没有经验做这件事,我只看到使用预制文件夹的例子,如制作/恢复/去resume.pdf等 – user3894475 2014-12-03 01:05:43

回答

2

使用.htaccess的mod_rewrite选项来创建将保留查询字符串和/或发布数据的重写。一个简单的例子(来自CodeIgniter的拍摄):

RewriteEngine on 
RewriteCond $1 !^(index\.php|[Javascript/CSS/Image root Folder name(s)]|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

这将意味着所有的请求去的index.php和你的index.php脚本将被设置来解析这个URL输入到适当的类别和/或功能。这允许可以由系统管理的单个入口点。这被所有主要的系统使用,从Wordpress到Magento到Laravel 4到CodeIgniter。

+0

500内部服务器错误 我拷贝了,确切地如何你发布它,我得到了。 难道是我没有robots.txt? – user3894475 2014-12-03 01:23:27

+0

Mod_rewrite是需要在服务器上配置的Apache模块。至于没有重复的内容,请查看:http://stackoverflow.com/a/3131259/3525315 – 2014-12-03 01:26:22

0

.htaccess允许使用类似于目录的风格在查询字符串中“发布”(正确的词将是GET)数据 您必须激活RewriteEngine,然后编写规则以将页面期望的查询字符串一个目录风格的sintax,为了编写这些规则,你必须使用一些正则表达式来映射url中的元素,这些元素将被识别为变量和你查询字符串的相应值。

例如 如果你想重写这样的查询字符串:

www.sitename.com/showimages.php?album=sea&photo=mysurf  

在这样的查询:

www.sitename.com/sea/mysurf 

你必须写相继式规则:

RewriteEngine on 
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/?$ /showimages.php?album=$1&photo=$2 [NC,L]  

这里是一个有趣和简单的指南 “的.htaccess URL重写” http://edward-designer.com/web/htaccess-url-rewrite-simplified/

我道歉因为我的英语不好

希望这会有帮助