Added final check to make sure htaccess is correct
parent
0dd9bd6af8
commit
d56286d5b9
|
|
@ -774,6 +774,50 @@ EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
success "WordPress installed successfully via WP-CLI."
|
success "WordPress installed successfully via WP-CLI."
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# Final check: ensure .htaccess has the WordPress rewrite directives
|
||||||
|
# Some plugins (e.g., LiteSpeed Cache) may recreate .htaccess and drop
|
||||||
|
# the default WordPress block. If it's missing, append it now.
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
if [[ -f ".htaccess" ]] && ! grep -q "# BEGIN WordPress" .htaccess; then
|
||||||
|
warning ".htaccess is missing WordPress rewrite rules – adding them."
|
||||||
|
|
||||||
|
# Re-establish the path to the template in case this block is far
|
||||||
|
# from the earlier variable scope.
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
HTACCESS_TEMPLATE="$SCRIPT_DIR/templates/htaccess.template"
|
||||||
|
|
||||||
|
WORDPRESS_BLOCK=""
|
||||||
|
if [[ -f "$HTACCESS_TEMPLATE" ]]; then
|
||||||
|
WORDPRESS_BLOCK=$(awk '/# BEGIN WordPress/{flag=1} flag{print} /# END WordPress/{flag=0}' "$HTACCESS_TEMPLATE")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fallback inline snippet if template missing or awk failed
|
||||||
|
if [[ -z "$WORDPRESS_BLOCK" ]]; then
|
||||||
|
read -r -d '' WORDPRESS_BLOCK <<'WPBLOCK' || true
|
||||||
|
# BEGIN WordPress
|
||||||
|
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
|
||||||
|
# dynamically generated, and should only be modified via WordPress filters.
|
||||||
|
# Any changes to the directives between these markers will be overwritten.
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||||
|
RewriteBase /
|
||||||
|
RewriteRule ^index\.php$ - [L]
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteRule . /index.php [L]
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
# END WordPress
|
||||||
|
WPBLOCK
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Append the block to .htaccess
|
||||||
|
printf "%s\n" "$WORDPRESS_BLOCK" | sudo tee -a .htaccess > /dev/null || warning "Failed to append WordPress rules to .htaccess"
|
||||||
|
sudo chown "${WEB_USER}:${WEB_GROUP}" .htaccess || warning "Failed to set ownership after appending WordPress rules."
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
info "WordPress is already installed according to WP-CLI."
|
info "WordPress is already installed according to WP-CLI."
|
||||||
# Optionally update URL if needed (be careful with this, can break site if proxy/etc involved)
|
# Optionally update URL if needed (be careful with this, can break site if proxy/etc involved)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue