【发布时间】:2016-12-31 01:34:49
【问题描述】:
我正在尝试重写此 URL:
localhost/classifieds/index.php?page=activate&extra=$2y$10$LsV9m8JgEz2zMaJYRNqocuOzaqR8oHmn3tBIjIQv.TI4JWd3rWVrC
到:
localhost/classifieds/activate/$2y$10$LsV9m8JgEz2zMaJYRNqocuOzaqR8oHmn3tBIjIQv.TI4JWd3rWVrC
现在,第一部分成功,如果我输入:
localhost/classifieds/activate
它给了我:
localhost/classifieds/index.php?page=activate
在此,加载正确的控制器。
我的主要问题是我希望规则也重写 URL 的第二部分。
我尝试了不同的正则表达式组合,但都无济于事。
【问题讨论】:
-
这会有帮助吗?
RewriteRule ^classifieds/activate/(.*)$ index.php?page=activate&extra=$1 [NC,L,QSA]。 LE:我通常让 PHP 应用程序动态地路由所有内容,管理实例化哪个控制器(如果存在)。RewriteRule ^(.*)$ index.php [L,QSA]以编程方式将 URL 拆分为控制器、操作和参数 -
非常感谢。我稍微修改了你的答案,它可以工作。这是我最后用的
RewriteRule ^([a-zA-Z0-9]+)/(.*)/$ index.php?page=$1&extra=$2
标签: php apache .htaccess mod-rewrite url-rewriting