前段时间我做了一个小缩短网址,基本上只是将用户重定向到'长网址'。
这样做的脚本被命名为short.php。
所以,我的问题:
当我第一次缩短时,我制作了一个.htaccess文件:
RewriteRule ^s/(.*)$ shorter.php?u=$1 [NC,L]
允许我重写:doma.in/s/VAR到doma.in/shorter.php?u=VAR,然后重定向到链接到VAR的页面。
上周我意识到我也可以像这样缩短我的网址:dome.in/VAR
据我所知,这也可以在.htaccess中完成。
当我仍然需要在'doma.in'和'之间使用's /'来支持网址时,问题就出现了。 'VAR'。
帮助表示感谢,谢谢:)。
答案 0 :(得分:1)
使用以下方式使^s/
成为可选项:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?:s/)?(.+)$ shorter.php?u=$1 [NC,L,QSA]
添加了2 RewriteCond
以确保您不会重写现有文件和目录。