使用.htaccess将不同的URL从一个页面重写到另一个页面

时间:2011-09-14 09:14:06

标签: .htaccess mod-rewrite

我需要知道是否有办法将长网址重定向到短网址。

我有一个RSS页面,会列出我网站上的一些新闻。每个项目的URL格式(根据MySQL查询)类似于http://example.com/news.php?id=2

在我的news.php上(在点击RSS页面上的任何新闻标题后重定向到新闻页面之后),有一些参数设置为带有看起来像http://example.com/news.php?news=2&view=1&topic=12的ID。

出于搜索引擎优化的目的,我需要erase该脏查询字符串,以便查看者只能在服务器端看到http://example.com/news.php?id=2,它实际上是http://example.com/news.php?news=2&view=1&topic=12

我创建了一个.htaccess文件,它放在rss文件夹(rss.php文件所在的文件夹)内,并尝试了多次尝试,但没有。

帮助我。

2 个答案:

答案 0 :(得分:2)

这就是我要做的事情:

RewriteEngine on

# id + view + topic
# http://www.domain.com/news/1/1/12 will load: /news.php?news=1&view=1&topic=12
RewriteRule ^news/([0-9]+)/([0-9]+)/([0-9]+)(/?)$ /news.php?news=$1&view=$2&topic=$3 [QSA,L,NC]

请在根文件夹中输入.htaccess。

答案 1 :(得分:2)

是否应将参数分配给($ 1,$ 2,$ 3 ......等)?

 RewriteRule ^news(/?)$ /news.php?news=$1&view=$2&topic=$3 [QSA,L,NC]