957Htaccess and White-listing IPs
AuthUserFile /path/to/.htpasswd
AuthName "Restricted Access"
AuthType Basic
Require valid-user
Satisfy Any
Deny from All
Allow from 123.456.78.90
Allow IP ranges:
Allow from 123.456.78
Allow from 123.456
AuthUserFile /path/to/.htpasswd
AuthName "Restricted Access"
AuthType Basic
Require valid-user
Satisfy Any
Deny from All
Allow from 123.456.78.90
Allow IP ranges:
Allow from 123.456.78
Allow from 123.456
In .htaccess:
<Files myfile.php>
AuthType Basic
AuthName "Authentication Required"
AuthUserFile /path/to/.htpasswd
Require valid-user
</Files>
htpasswd -nb username password
Using just -n username will prompt twice for the password.
htpasswd -n username
From htpasswd man:
-n Don't update file; display results on stdout.
-b Use the password from the command line rather than prompting for it.
301 Redirect is great, if you want to keep you old structure and only change the server.
.htaccess
Redirect 301 / https://www.trembl.org/
Any page of your old.site/about would get redirected to https://www.trembl.org/about.
If you want to redirect all your page links from your old.site (e.g. old.site, old.site/aaa, old.site/bbb, ...) to https://www.trembl.org, use this RewriteRule:<
.htaccess
RewriteEngine On
RewriteRule ^(.*)$ https://www.trembl.org/ [R=301]
Here is how to sync a Wordpress Theme from Github to your own server:
Create a Personal Access Token on GitHub
https://www.trembl.org/update-my-website.php
https://username:passwd@www.trembl.org/update-my-website.php
Go to your tmp directory, init the git repo and pull the repo
cd /my/local/tmp/directory/
git init // initialize git
git reset --hard
git pull https://{$token}@github.com/{$repo}
The update-my-website.php
should look something like this:
<?php
// path to local tmp directory
$temp_dir = '/my/local/tmp/directory/';
// path to local theme directory
$theme_dir = "/my/local/theme/directory/";
// access token from GitHub
$token = 'abcdefghijk';
// Repo
$repo = 'github.com/trembl/SuperNiceRepo.git';
// - - - - -
// change to local git directory
chdir($temp_dir);
// resets local git
exec('git reset --hard 2>&1') . ", ";
// get latest from github & store it in $msg
echo exec("git pull https://<span style="background:red">$token</span>@$repo 2>&1");
$msg = exec("git pull https://$token@$repo 2>&1");
if ($msg != "Already up to date.") {
// Only copy if the git repo actually changed
// delete theme dir
echo "\n\nDeleting Theme Directory.\n";
echo exec("rm -rf $theme_dir*"); // * deletes all files within the directory
// Copying Theme from $temp_dir to $theme_dir
echo "\n\nCopying Theme from tmp folder to wp-content.\n";
echo exec("cp -a $temp_dir/* $theme_dir");
// cp -a $temp_dir/* copies everything _except_ invisible files, like .git
} else {
echo($msg);
}
?>
update-my-website.php
protected by .htaccess?
860 Access a URL behind htaccess/htpasswd
Protect update.php ONLY with .htaccess?
940 Protecting a Single File with .htaccess
I get the following error message: Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)/
That means git is not initalized. Run git init
Access a htaccess/htpasswd protected URL programmatically:
https://username:passwd@www.trembl.org/protected/area/
See also: Pulling a GitHub Repository with Tokens & Webhooks