如何进行目录重定向

时间:2014-12-03 01:00:56

标签: php .htaccess

我看到网站上的个人资料页面会执行以下操作:http://www.example.com/myusername/向用户显示用户名' myusername' s'轮廓。我想知道怎么做?

我已经看过如何使用htaccess执行此操作的示例,但它执行完全重定向,不允许发布数据,获取数据等。我该怎么做?

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分: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/

我为我糟糕的英语道歉

希望这有帮助