使用htaccess进行短链接

时间:2015-02-24 14:53:35

标签: .htaccess

我有这样的链接 short.dk/testA57_Hi.89-Qwerty

我想重定向到longdomain.dk/index.php?link=testA57_Hi.89-Qwerty

我写了以下htaccess规则 RedirectMatch ^ /([A-Za-z0-9] +)$ http://longdomain.dk/index.php?link= $ 1

它适用于字母和数字,但如何允许URL,破折号,下划线等URL允许的所有其他字符...

1 个答案:

答案 0 :(得分:0)

尝试使用mod_rewrite:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9_\-\.]+)$ /index.php?link=$1 [L,QSA]

请注意正则表达式更改:([A-Za-z0-9_\-\.]+

将匹配所有字母,数字和下划线/破折号/点。 您想要使用mod_rewrite而不是mod_alias(RedirectMatch)的原因是因为您需要这些条件,以便/index.php不会与您的正则表达式匹配并导致循环。