分類
网站

用.htaccess實現二級域名網站

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(test.)?domin.com$
RewriteCond %{REQUEST_URI} !^/testFolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /testFolder/$1
RewriteCond %{HTTP_HOST} ^(test.)?domin.com$
RewriteRule ^(/)?$ testFolder/index.php [L]

萬網的輕雲服務器不推薦大家購買,說是服務器,文件只能通過ftp傳,而且還自動刪.htaccess。雖然.htaccess上傳後就不見了,運氣好的話規則還是起作用的,爲什麼這麼說呢,因爲他們的輕雲服務器有獨特的.htaccess語法,真是坑。上面的代碼經過測試是可用的。爲什麼這麼不好還要用呢,備案啊,穩定性啊當然還有很便宜的價格。

分類
网站

wordpress建立企業站常用函數和插件

1,常用主題函數

//移除后台默认小控件
add_action('wp_before_admin_bar_render', 'my_admin_bar_remove', 0);

function my_admin_bar_remove()
{
    global $wp_admin_bar;
    global $wp_meta_boxes;
    
    /* Remove their stuff */
    $wp_admin_bar->remove_menu('wp-logo');
    // 以下这一行代码将删除 "快速发布" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
    // 以下这一行代码将删除 "引入链接" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
    // 以下这一行代码将删除 "插件" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
    // 以下这一行代码将删除 "近期评论" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
    // 以下这一行代码将删除 "近期草稿" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_recent_drafts']);
    // 以下这一行代码将删除 "WordPress 开发日志" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
    // 以下这一行代码将删除 "其它 WordPress 新闻" 模块
    unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
    // 以下这一行代码将删除 "概况" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
    // 以下这一行代码将删除 "活动" 模块
    unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_activity']);
}


// 添加后台小控件
add_action('wp_dashboard_setup', 'my_add_dashboard_widgets');

function my_add_dashboard_widgets()
{
    wp_add_dashboard_widget('my_dashboard_widget', // Widget slug.
'welcome', // Title.
'dashboard_widget_function') // Display function.
;
}

//Create the function to output the contents of our Dashboard Widget.
function dashboard_widget_function()
{
    echo "欢迎!<br/>请点击左侧菜单进行相应操作。";
}

// 去除后台标题中的“—— WordPress”
add_filter('admin_title', 'wpdx_custom_admin_title', 10, 2);

function wpdx_custom_admin_title($admin_title, $title)
{
    return $title . ' &lsaquo; ' . get_bloginfo('name');
}


// 去除后台的谷歌自体
add_action('init', 'remove_open_sans_from_wp_core');

function remove_open_sans_from_wp_core()
{
    wp_deregister_style('open-sans');
    wp_register_style('open-sans', false);
    wp_enqueue_style('open-sans', '');
}

// 自定义WordPress后台底部信息
add_filter('admin_footer_text', 'left_admin_footer_text');

function left_admin_footer_text($text)
{
    // 修改左侧信息
    $text = '感谢使用OKMILK销量查询系统';
    return $text;
}
add_filter('update_footer', 'right_admin_footer_text', 11);

function right_admin_footer_text($text)
{
    // 修改右侧信息
    $text = "4.6.1版本";
    return $text;
}

// 去除右上角帮助
add_filter('contextual_help', 'wpse50723_remove_help', 999, 3);

function wpse50723_remove_help($old_help, $screen_id, $screen)
{
    $screen->remove_help_tabs();
    return $old_help;
}

// 去除一般用户升级提醒
if (! current_user_can('manage_options'))
{
    // Disable Theme Updates
    remove_action('load-update-core.php', 'wp_update_themes');
    add_filter('pre_site_transient_update_themes', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_themes');
    
    // Disable Plugin Updates
    remove_action('load-update-core.php', 'wp_update_plugins');
    add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_update_plugins');
    
    // Diasable Core Updates
    add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_version_check' );
}

2,插件

查看當前模板文件:安裝插件Show Current Template

修改登陸頁logo:安裝插件Custom Login Logo

去除wp頭部版本號:安裝插件Remove WP version and shortlink

维护模式:安裝插件Maintenance Mode

分類
软件

PHP Development Tools——Eclipse

之前用NetBeans寫PHP倒也沒什麼問題,最近看到PSR-2的代碼編寫規範,覺得很好,但是NetBeans好像沒有找到設置的地方。搜了下PHP Development Tools (PDT)直接支持PSR-2。Sublime Text 2的編碼主題比較舒服,PDT也是有的,Sublime Text 2 theme for PDT下載。推薦下載EPF格式,然後在eclipse中File/Import/General/Preferences導入即可。爲了遵循PSR的代碼書寫規範,還需在Window/Preferences中進行如下設置:

  1. PHP/Code Style/Formatter/Active profile設置爲PSR-2。
  2. General/Workspace/New text file line delimiter設置爲Other:Unix。
  3. General/Editors/Text Editors勾選Show line margin,值設爲80。
分類
其它

150817

附近新開的家電修理店說我的手機修好只要210,160成本加50手工。想想售後報的天價,於是就拿來修沒想到第二天又讓多加50。第三天手機就修好了,功能都正常,唯一的遺憾是畫質真的好差,白底黑字的地方顯示出來是白底灰字。第五天發現背板一側已經翹起。這是一次不愉快的維修經歷。

分類
其它

150813

曾子曰:人而好善,福雖未至,禍其遠矣;人而不好善,禍雖未至,福其遠矣。

《中論》卷上《修本第三》

分類
程序

python3字符串自增

週末喝恆大冰泉,發現掃二維碼中獎概率頗高,而且可以中獎金額直接用來給手機充值或提現到銀行卡,做的比較好。趁理髮無聊的時候寫了段python掃了一會兒,但是空手而歸。代碼也很簡單和用Python抓取大衆點評的用戶評論差不多,主要就是字符串自增這塊用了個遞歸:

from bs4 import BeautifulSoup import string,sys,time,random,urllib,http.cookiejar,socket #url="https://sao.so/t/dSTUVvjUhPHpz" baseDir="/storage/sdcard0/com.hipipal.qpyplus/scripts3/test/" base="_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" HDcode="dSTUVvjUhPIjL" bingoNo=0 failNo=0 def increase(s): sHead=s[0:-1] sFoot=s[-1:] sNew="" if(sFoot != "Z"): index=base.index(sFoot) sFootNew=base[index+1] sNew=sHead+sFootNew else: sHeadNew=increase(sHead) sFootNew="_" sNew=sHeadNew+sFootNew return sNew def getHTML(url): request = urllib.request.Request(url) request.add_header("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0") try: response = urllib.request.urlopen(request) except (urllib.error.HTTPError, socket.error,urllib.error.URLError) as e: print('Connection error occurred when inserting data.'+str(e)) else: if response.code != 200: print("Error code:"+response.code) else: html = response.read().decode('utf-8') return html def check(html): global bingoNo global failNo #with open(baseDir+'expired.html',encoding='utf-8') as html: soup = BeautifulSoup(html) images = soup.find_all('img') for image in images: if "errorQrCode.jpg" in image.get('src') : failNo = failNo + 1 print("fake: " + HDcode + " " + str(failNo)) break elif "冰泉君已经失身啦" in soup.get_text(): print("expired" + HDcode) break else: print("bingo" + HDcode) bingoNo = bingoNo + 4 if __name__ == '__main__': #html=getHTML(url) #with open(baseDir+'fake.html', mode='w', encoding='utf-8') as html_file: #html_file.write(html) global HDcode while(bingoNo < 2): url = "https://sao.so/t/" + HDcode html = getHTML(url) check(html) HDcode = increase(HDcode) time.sleep(random.randrange(4,7)) [/code]

其實命中的概率真的非常低,拿13位編碼來說,一共有(11+26+26)^13=2.46*10^23種組合,瓶子上說中獎概率33.3%,按300億銷售目標和5元均價算,一共有2×10^10瓶是可以中獎的。除一下就發現……不用除了吧

分類
网站

寬屏圖片居中的兩種方法

現在有些網站比較流行用100%寬度的圖片(div)佔滿屏幕,來營造出比較整體或是大氣的感覺。如果直接放一張大圖進去並禁止縮放,會發現瀏覽器是從圖片左側開始展示圖片,而我們想要的是主要顯示中間重要部分。有兩種方法可以做到,一種是利用CSS的背景居中,另一種是用js調整圖片的位置。Talking is cheap, here comes the code:

<style>
.wideBanner {background: rgba(0, 0, 0, 0) url("../images/bg.jpg") no-repeat scroll center center;height: 19px;}
</style>
<div id="wideBanner"></div>
<script type="text/javascript"> 
    $(document).ready(function(){
        var offset=($(window).width()-$("#wideBanner").css("width"))/2;
        $("#wideBanner").css("left",offset);
});
</script>
<div id="wideBanner"></div>

未知寬度div居中https://github.com/simaQ/cssfun/issues/3

     .container{width:500px;height:80px;background:#C2300B;margin-left:50px;padding-top:10px;text-align:center;}
     .center{display:inline-block;border:2px solid #fff;}
     .center{_display:inline;} /*针对ie6 hack*/
     .center a{float:left;border:1px solid #fff;padding:5px 10px;margin:10px;color:#fff;text-decoration:none;}
     <div class="container">
     <div class="center"><a href="#">1</a><a href="#">2</a><a href="#">3</a>
     <div style="clear:both"></div></div> 

本文更新於 2015/12/11。