用 .htaccess 为 2 个参数重写 URL

Rewrite URL with .htaccess for 2 parameters

如何将 URL 转换为:
http://example.com/site/delete-page.php?site=first&page=second

收件人:
http://例子.com/site/first/delete-page/second

谢谢!

这是该特定任务的正常规则:

RewriteEngine on
RewriteRule ^/site/([^/]+)/delete-page/(.+)$ /site/delete-page.php?site=&page= [L]

要在 .htaccess 样式文件中使用相同的规则,您必须稍微修改它:从模式和目标中删除前导斜杠 (/):

RewriteEngine on
RewriteRule ^site/([^/]+)/delete-page/(.+)$ site/delete-page.php?site=&page= [L]

这假定 .htaccess 样式文件位于包含 site 文件夹的文件夹内。您也可以将文件放在 site 文件夹中,显然您必须从规则模式和目标中删除 site/ 部分。此外,您还必须注意为该主机和位置完全启用 .htaccess 样式文件的解释。


一般来说,您应该总是喜欢第一个版本,并将此类规则放在您的 http 服务器主机配置中。 .htaccess 样式文件是出了名的容易出错,难以调试,而且它们 确实 减慢了服务器速度。它们仅在您无权访问服务器配置的情况下作为最后的选择提供。例如,当使用非常便宜的共享网络托管服务时...