APACHE Mod 重写 - 动态 URL 到语义 URL

APACHE Mod Rewrite - Dynamic URLs to Semantic URLs

我有一个基于 Google 地图的小网络应用程序。我有这样的网址:

http://www.example.com/web.php?u=olives-restaurante-de-ensaladas-en-margarita

我想要的正是这个:

http://www.example.com/web/olives-restaurante-de-ensaladas-en-margarita

所以我想将参数 dynamic URLs 转换为 semantic URLs

我怎样才能做到这一点?!

我尝试将以下代码放在我的 .htaccess

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^web/([A-Z0-9]+)/$ web.php?u=

但遗憾的是,当我尝试访问 http://www.example.com/web/olives-restaurante-de-ensaladas-en-margarita 时,它会将我重定向到 404 页面。

我做错了什么?

RewriteRule ^web/([A-Z0-9]+)/$ web.php?u=

http://www.ubikate.com.ve/web/olives-restaurante-de-ensaladas-en-margarita

您的 RewriteRule pattern (^web/([A-Z0-9]+)/$) 不允许使用连字符,强制使用尾部斜杠并且只匹配大写字母,所以这不会匹配您请求的 URL。

请尝试以下操作:

RewriteRule ^web/([\w-]+)$ web.php?u= [L]

\w 是一个 shorthand 字符 class 相当于 [a-zA-Z0-9_].