YOURLS在lighttpd的rewrite(伪静态)规则:

url.rewrite = (  
"^/([0-9A-Za-z]+)/?$" => "/yourls-go.php?id=$1",  
"^/([0-9A-Za-z]+)\+/?$" => "/yourls-infos.php?id=$1"  
)

YOURLS在nginx的rewrite(伪静态)规则:

location /  
{  
if (!-f $request_filename){  
set $rule_0 1$rule_0;  
}  
if (!-d $request_filename){  
set $rule_0 2$rule_0;  
}  
if ($rule_0 = "21"){  
rewrite ^/([0-9A-Za-z]+)/?$ /yourls-go.php?id=$1 last;  
}  
rewrite ^/([0-9A-Za-z]+)\+/?$ /yourls-infos.php?id=$1 last;  
rewrite ^/([0-9A-Za-z]+)\+all/?$ /yourls-infos.php?id=$1&all=1 last;  
}

官方提供的htaccess规则,存为.htaccess文件放入目录即可。
分为以下三种情况:
YOURLS安装在根目录下:

# BEGIN YOURLS  
RewriteEngine On  
RewriteBase /  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^([0-9A-Za-z]+)/?$ /yourls-go.php?id=$1 [L]  
RewriteRule ^([0-9A-Za-z]+)\+/?$ /yourls-infos.php?id=$1 [L]  
RewriteRule ^([0-9A-Za-z]+)\+all/?$ /yourls-infos.php?id=$1&all=1 [L]  
# END YOURL

YOURLS安装在子目录下:

# BEGIN YOURLS  
RewriteEngine On  
RewriteBase /somedir/  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^([0-9A-Za-z]+)/?$ /somedir/yourls-go.php?id=$1 [L]  
RewriteRule ^([0-9A-Za-z]+)\+/?$ /somedir/yourls-infos.php?id=$1 [L]  
RewriteRule ^([0-9A-Za-z]+)\+all/?$ /somedir/yourls-infos.php?id=$1&all=1 [L]  
# END YOURLS

强制使用非www开头的地址:

# BEGIN WithoutWWW  
RewriteEngine on  
RewriteCond %{HTTP_HOST} ^www\.yourls\.org$ [NC]  
RewriteRule ^(.*)$ http://yourls.org/$1 [R=301,L]  
# END WithoutWWW

官方关于链接打开为404错误的解决方法:
确认apache开启了mod_rewrite模块,
如果问题没解决,
就得对.htaccess进行修改(多出现在Godaddy、1adn1这类主机中):
将规则中的

RewriteRule ^([0-9A-Za-z]+)/?$ yourls-go.php?id=$1 [L]

改为:

RewriteRule ^([0-9A-Za-z]+)/?$ /yourls-go.php?id=$1 [L]

这里有我的香菜建的一个短连接网站:i0S短网址 已经虚无

添加新评论