【发布时间】:2013-01-09 11:11:23
【问题描述】:
我正在寻找一种方法来为我的页面上的较长 URL 创建一个短 URL 路径
长网址为: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]
我必须将上面的代码 sn-ps 保存在我的 htaccess 文件中。第一个只是将http://domain.com 请求转发到 www.domain.com
友好的 URL 部分用于将我的 CMS 的内部 ID 转换为 URL 的别名。必须保留此功能,因为我尝试在 htaccess 中进行的更改不会影响整个站点...
我只是想添加一个监听器,仅当 URL 匹配 www.domain.com/t/abcd1234 时
因此我需要一些标识 www.domain.com/t/ URL
非常感谢您的帮助
【问题讨论】:
-
tagcloud 规则的 RewriteCond 是什么?
-
Gereon,我试图写这个规则,但我失败了。到目前为止,还没有任何规则。我只是想在我当前的 htaccess 文件中添加一个规则来补充它,如果输入“触发器”shortendURL,它会被转发到实际的长 URL。
标签: mod-rewrite