通过mod_rewrite处理链接



我想通过mod_rewrite缩短我的URL。

我的网站上有两种类型的URL:一次带参数和不带参数。

  1. example.com/devel/pages/event.php?event=MYEVENTNAME
  2. example.com/devel/pages/image.php?event=MYEVENTNAME
  3. example.com/devel/pages/location.php?name=MYLOCATION
  4. example.com/devel/pages/home.php
  5. example.com/devel/pages/news.php

我想称这些网站为:

  1. example.com/devel/events/MYEVENTNAME
  2. example.com/devel/images/MYEVENTNAME
  3. example.com/devel/locations/MYLOCATION
  4. example.com/devel/home
  5. example.com/devel/news

这就是我现在写的...

例如

RewriteRule devel/images/(.*)?$ devel/pages/images.php?event=$1

怎么可能以正确的方式做到这一点?

您可以在站点根目录 .htaccess 中使用以下 2 个通用规则:

RewriteEngine On
RewriteRule ^devel/([w-]+)/([w-]+)/?$ devel/pages/$1.php?event=$2 [L,QSA,NC]
RewriteRule ^devel/([w-]+)/?$ devel/pages/$1.php [L,NC]

最新更新