Rewriting URLs with GET Variables in .htaccess
When using PHP for routing purposes (e.g., index.php?page=controller), it is useful to have a cleaner and more user-friendly URL structure. .htaccess, a widely used Apache configuration file, provides a convenient way to rewrite URLs and handle GET variables.
In the given situation, the goal is to have URLs like http://localhost/controller/ route to index.php?page=controller in a clean and concise manner. Additionally, the requirement is to support URLs with parameters, such as http://localhost/controller/param/value/param/value, which should map to http://localhost/controller/?param=value¶m=value with the GET variables.
To achieve this, a simple yet effective solution can be implemented using a rewrite rule in the .htaccess file:
RewriteRule ^([\w\d~%.:_\-]+)/(.+)$ index.php?page=$1¶ms=$2 [NC, QSA]
With this rule in place, a URL like http://localhost/controller/param/value/param/value will be rewritten to index.php?page=controller¶ms=param/value/param/value. This provides a clean and easy way to manage GET parameters and maintain the original URL structure.
To access these parameters in your PHP code, you can use $_GET['params'], which contains the parameter string. You can then split it using a delimiter (e.g., /) and access individual parameter values.
以上是如何在 .htaccess 中使用 GET 变量重写 URL 以实现干净路由?的详细内容。更多信息请关注PHP中文网其他相关文章!