RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Categories: Web Tags:
RewriteRule ^(.*)\.html$ https://%{HTTP_HOST}/$1 [R=301,L]
Categories: Web Tags:
var win=window.open('https://google.com/','_blank');
win.focus();
Categories: Javascript Tags:

По умолчанию:

Server => Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16

В /etc/php.ini

expose_php = Off

Результат:

Server => Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips

В /etc/httpd/conf/httpd.conf

ServerTokens Prod

Результат:

Server => Apache
Categories: Unix Tags: ,

Скрипт (спецсимволы в паролях экранировать):

#!/bin/bash
cd /var/www/backup/
#local
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > site.ru.sql.gz
tar -czf site.ru.tar.gz ../site.ru
#gdrive
GDRIVE=/root/gdrive
for f in *.gz
do
    $GDRIVE list | grep $f | awk '{print $1}' | xargs -I {} sh -c "$GDRIVE delete {}"
    $GDRIVE upload $f
done

Более простой не универсальный вариант:

#!/bin/bash
#local
mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > /var/www/backup/site.ru.sql.gz
tar -czf /var/www/backup/site.ru.tar.gz /var/www/site.ru/
#gdrive
/root/gdrive list | grep site.ru.sql.gz | awk '{print $1}' | xargs -I {} sh -c '/root/gdrive delete {}'
/root/gdrive upload /var/www/backup/site.ru.sql.gz
/root/gdrive list | grep site.ru.tar.gz | awk '{print $1}' | xargs -I {} sh -c '/root/gdrive delete {}'
/root/gdrive upload /var/www/backup/site.ru.tar.gz

Информация о GDrive (установка и использование): https://github.com/prasmussen/gdrive

См. также: cron резервное копирование файлов и базы данных сайта с выгрузкой на удаленный ftp

Categories: Unix Tags: ,
import android.content.Intent;
class MyClient extends WebViewClient{
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url){
        if(url.startsWith("mailto:")){
            view.getContext().startActivity(new Intent(Intent.ACTION_SENDTO, Uri.parse(url)));
        }
        else if(url.startsWith("tel:")) {
            view.getContext().startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
        }
        else {
            view.loadUrl(url);
        }
        return true;
    }
}
Categories: Android Tags:

Добавить getSupportActionBar().hide();
Пример:

public class MainActivity extends AppCompatActivity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
		getSupportActionBar().hide();
		setContentView(R.layout.activity_main);
	}
}
Categories: Android Tags: