mod_rewrite转发缩短的URL

时间:2013-01-09 11:11:23

标签: mod-rewrite

我正在寻找一种方法来为我的网页上的较长网址创建一个简短的网址路径

长网址为:domain.com/tagcloud/user.html?t=1234ABCD

我想提供一个简短的URL版本,以便轻松访问它:

domain.com/t/1234ABCD

我尝试了一些例子,但我不知道如何转发这些规则。

RewriteRule ^(.*)/t/$ /tagcloud/user.html?t=$1 [L]

我也在使用MODX,因此他们已经使用了规则。

另外我的htaccess文件

RewriteEngine On
RewriteBase /

# Always use www
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

我必须将代码片段保存在我的htaccess文件中。第一个只是将http://domain.com请求转发给www.domain.com

需要友好的网址部分才能使用网址的别名翻译我的CMS的内部ID。此功能必须保留,因为我尝试在htaccess中进行的更改不会影响整个网站...

我只是想添加一个只有在URL与www.domain.com/t/abcd1234匹配的监听器

因此,我需要识别www.domain.com/t/ URL

的内容

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

试试这个:

RewriteCond %{REQUEST_URI} ^/t/.*
RewriteRule ^t/(.*)$ /tagcloud/user.html?t=$1 [R=301,L]