我正在开发一个品牌的短链接网站,我需要看到这样的链接:
http://demo-name.com/[shortvalue]
我理解如何执行以下操作:
http://demo-name.com/l/[shortvalue]
使用基本重写规则,但我不确定如何在没有l
前缀的情况下执行此操作。
我还需要能够去
http://demo-name.com/file.php
运行某些文件,因此需要这样做。
如果也有可能,我希望能够有一个
http://demo-name.com/[shortvalue]?key=val&key2=val2
^^^^^^^^^^^^^^^^^^
我的网址末尾的查询字符串,所以如果[QSA]
也可以,那就太棒了!
答案 0 :(得分:2)
您可以测试文件是-d
中的目录(-f
)还是文件(RewriteCond
)。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)$ index.php?shorturl=$1 [L,QSA]
此规则将重写任何“短值”,而不会在index.php?shorturl=shortvalue
处添加斜线或点。