我有这样的链接 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允许的所有其他字符...
答案 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
不会与您的正则表达式匹配并导致循环。