繁体   English   中英

使用mod_rewrite的正则表达式

[英]Regexp with mod_rewrite

我花了大约一个小时,并阅读了许多教程( 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

看起来不错,但如果URL以'/'或'/?ID = 123'结尾,则无法使用

有时情况变得更糟,只是向我抛出HTTP 500错误,

有什么解决办法吗?

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

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

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

RewriteEngine On

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM