2015-01-11 23 views
1

在这最后一周,我试图获得我的MVC PHP框架的最佳结果,但没有阅读任何正则表达式手册,我从教程了解一点这项工作,所以这样我htacces文件是这样的:

RewriteEngine on 
ErrorDocument 400 /index.php 
ErrorDocument 401 /index.php 
ErrorDocument 403 /index.php 
ErrorDocument 404 /index.php 
ErrorDocument 500 /index.php 
ErrorDocument 502 /index.php 
ErrorDocument 504 /index.php 
RewriteRule ^([a-z]*)?/?([a-z]*)?([a-z_]*)?$ index.php?controller=$1&action=$2$3 [NC,L] 

在我的网址没有数字没有大写字母,只有小写字母,所以我尽量在这里提出的方式,动作功能得到另一个参数,我不知道确切的数字,但他们也许是一个或五个..总之,控制器和行动后,我需要得到另一个参数的值,也没有任何限制,如id=$3类似: index.php?controller=$1&action=$2 whould be /recover/password和其余船尾呃/recover/[email protected]&password=1q2w32e4tr5yt6yu7ui8i9o等等! 一个星期,我没有在网上找到类似的东西!任何人都可以帮助我,tcx?

+3

我只是想恭维你的标题,不得不笑笑哈哈 – Neat

+0

举例说明你想完成什么。现在很难理解你的问题在哪里。为了可读性将段落分成句子。遏制所有“帮助我”,并研究厌恶评论。 – mario

+0

我想我的网址看起来与此类似:'/恢复/密码,电子邮件= myemail @ myweb.com和密码= 1q2w32e4tr5yt6yu7ui8i9o'我已经有这一部分:'/恢复/ password' –

回答

1

看起来像你只需要QSA标志这里:

ErrorDocument 400 /index.php 
ErrorDocument 401 /index.php 
ErrorDocument 403 /index.php 
ErrorDocument 404 /index.php 
ErrorDocument 500 /index.php 
ErrorDocument 502 /index.php 
ErrorDocument 504 /index.php 

RewriteEngine on 

RewriteRule ^([a-z]+)/([a-z_]+)/?$ index.php?controller=$1&action=$2$3 [NC,L,QSA] 

QSA(查询字符串附加)标志保留现有的查询参数,同时增加一个新的。

+1

哇雅我想我应该读这本书,你觉得呢? Awsome dude tcx! –

+0

欢迎您。即使askspache.com是很好的URL重写资源。 – anubhava