2016-06-09 83 views
1

我想通过mod_rewrite来缩短我的网址。
通过mod_rewrite处理链接

我的网站上有两种类型的网址:一次带参数且没有参数。

  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 

如何才能以正确的方式做到这一点?

+0

有什么理由不使用这个规则的工作? – anubhava

+0

使用此规则,第一个URL正在工作(devel/events/MYEVENTNAME)。我可以为较短的网址添加规则吗(另外)? Like:RewriteRule devel /(.*)?$ devel/pages/$ 1.php? – DanEpp

回答

2

您可以使用网站根目录的.htaccess这两个通用的规则:

RewriteEngine On 

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

RewriteRule ^devel/([\w-]+)/?$ devel/pages/$1.php [L,NC]