YOURLS伪静态规则整理
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短网址 已经虚无