重写URL并传递变量

问题描述

我有一个PHP页面 site.com/page.PHP?city=variable

我希望URL看起来像这样: site.com/your-city-variable

我的 .htaccess 具有此功能

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.PHP [NC,L]
RewriteRule ^your-city-([^/]+)/?$ page.PHP?city=$1

这很好。 URL被重写并重定向。但是,城市变量在页面显示 City.PHP 。 (在城市名称后附加.PHP扩展名)。我希望扩展名不要附加至变量。

谢谢。

解决方法

问题解决了。我将此行移到.htaccess文件的顶部:

RewriteRule ^your-city-([^/]+)/?$ page.php?city=$1