向用户显示同一页面但根据 URL 更改内容?

Showing the same page to a user but change the content based on the URL?

我在一个网站上工作,出于 SEO 的原因,我需要大约 50 个页面都具有相同的内容,但根据 URL 交换了某些词。某些词是所有地点(即英国、西班牙、法国等)。所以页面上的内容会说“英国个人培训课程或西班牙个人培训课程,法国个人培训课程”。

目前我有它,所以 URL 是 www.websitename.com/courses.php?location=uk。然后在 courses.php 页面上,我正在执行 $_GET 以获取位置参数,然后根据此更改页面内容。理想情况下,我真正想要的是 URL 是 www.websitename.com/courses/uk,www.websitename.com/courses/spain 主要是出于审美原因。是否有重写规则来实现这一点?我也对替代方案持开放态度,因此我可以使用其他方法获取 URL 中的位置 $_get。

有两种方法可以实现。

  1. 使用路由器

FastRoute and Klein.php是不错的选择。

  1. .htacess 重写

您可以修改 .htaccess 文件来为您重写 URL。有效地向用户展示与您的应用程序需求不同的 URL。

Options +FollowSymLinks  
RewriteEngine On 

RewriteRule ^courses/([a-zA-Z]+)$ courses.php?location= [L,NC]