正则表达式与mod_rewrite

时间:2014-11-22 18:21:14

标签: regex apache .htaccess mod-rewrite url-rewriting

我花了大约一个小时,阅读了很多教程(MDN,博客。),

仍然无法指责它,这就是我想要的:

http://localhost/post/create
http://localhost/post/create/
http://localhost/post/create/?ID=123

真正的道路是:

http://localhost/includes/function/post/create.php

所以我试过了:

RewriteRule ^post/(.*)(/.*)?$ includes/function/post/$1.php$2

它看起来很好,但如果网址以' /'结尾,它将无法正常工作或' /?ID = 123'

有时它会变得更糟,只是给我一个HTTP 500错误,

请问任何解决方案?

编辑:我希望我只用一条规则就可以使用上述三种方式,是否有可能?

edit2:我意识到我只需删除我的.htaccess中的-MultiView

1 个答案:

答案 0 :(得分:0)

您可以在根目录中使用此规则.htaccess:

RewriteEngine On

RewriteRule ^post/([^/]+)/?$ /includes/function/post/$1.php [L,QSA]