Deploying Vue 3 App to subdomain of shared hosting (SiteGround) - deployment

I am trying to deploy my Vue 3 app on a subdomain of a shared hosting plan.
The main domain hosts a Wordpress Website.
I am adding the .htaccess file to the public_html folder of the subdomain.
It works fine, but when I reload a page I get a 404 response.
.htaccess
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

Related

htaccess redirect all variants to https

Using CWP, I have setup a webserver powered by Apache + NginX + Varnish.
I want the following domains samples to open https variants, i.e. https://example.com
example.com
www.example.com
http://www.example.com
http://example.com
https://www.example.com
https://example.com
Hosted websites are developed using CodeIgniter, so index.php also needs to be bypassed.
My current .htaccess is:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
I have tried:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
RewriteCond %{HTTPS} !=on
But it's not working. The following variants makes websites inaccessible on all variants
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
and tried some other variants also even after referring to articles here at Stack Overflow, none is working for me.
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
says too many redirects
There is no effect of any other variant. http and https works fine in them, but no redirection to https is achieved.

Deploying Laravel to Bluehost

I was wondering if anyone has had any experience deploying larval to blue host? I was flowing an youtube tutorial that showed how to deploy a larval application to a shared hosting service. It was using Godaddy.com, however, i was using Bluehost, and it didn't work as expected. However I managed to getting to not return an internal server error.
What I did was to configure the .env file so that it had my correct database information and my APP_URL to point to my domain.
The youtube tutorial said I should also remove everything from the public folder and place it in the applications main folder, which on Bluehost is the public_html folder. I also changed the .htaccess and removed the public in the rewrite that handles the redirects for trailing slashed.
Now, when I point to my website, all that is served up is a blank screen. but something seems to be working because I uploaded an html webpage that renders to the browser. I just wondering where do I go from here to get the entire site running.
i'm using php 5.6.
Any help would be great. Thank you
I think you are using shared hosting
Follow these steps
1: After upload files to public_html move all your /public files in public_html folder All files like index.php, .htaccess and assets folder etc
2: Find the following line in index.php
require __DIR__.’/../bootstrap/autoload.php’;
require __DIR__.’/../project/bootstrap/autoload.php’;
change to
require __DIR__.’/bootstrap/autoload.php’;
require __DIR__.’/project/bootstrap/autoload.php’;
That’s it. Well then, have fun.
check that the PHP version is correct for Laravel
in cPanle enable FastCGI for PHP
open file .htaccess located in /public and edit
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteBase /public/
# For security reasons, Option followsymlinks cannot be overridden.
# Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
This is my .htaccess codes which are different in different server.
#Default Setup
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
//bluehost------------
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteBase /
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

An example of a 302 HTTP redirect to a mobile subdomain?

Does anyone have an actual example on how to redirect mobile users to a subdomain like m.example.com? I understand that this is preferably done by a 302 HTTP redirect, but I have yet to come across an actual example.
I assume you are looking for client resolution?
Edit:
I just found this somewhere. It's meant for wordpress, but I think it could be addapted to work with any website
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
# prevent looping
RewriteCond %{HTTP_HOST} !^m.mysite.com$
# if the browser accepts these mime-types, it's definitely mobile, or pretending to be
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
# a bunch of user agent tests
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
# rewrite rules here
RewriteRule ^(.+)\$ http://m.mysite.com/$1 [R=302,NC]

Wordpress Redirect subdirectory to subdomain

We've just migrated a WPML site from example.com/fr to fr.example.com.
I'd like to keep all the link juice, so I'm trying to redirect all links that are
www.example.com/fr/mylink -> fr.example.com/mylink/
Here is what I have right now, but it is not working:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^([^.:]+\.)*example\.com/fr\.?(:[0-9]*)?$ [NC]
RewriteRule ^(.*)$ http://fr.example.com/$1 [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
The site works fine still but the redirects are not working. Any ideas?
Try Accessing the website via FTP and
Try adding the Code into Your wp-config.php file
define('WP_HOME', 'http://www.example.com');
define('WP_SITEURL', 'http://www.example.com/wordpress');
This Worked for me.
Try it on your website.

400 Bad Request With CSS .htaccess rule

I'm trying to whitelabel the Zend framework, so I've created folder in application called Site.
This url: http://local.branch.test.com/site-css/1/layout.css returns a 400 Bad Request.
With the following rule:
RewriteRule ^site-css/([0-9]+)/(.*)$ ../application/site/$1/design/css/$2 [L]
Full .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php
RewriteRule ^site-css/([0-9]+)/(.*)$ ../application/site/$1/design/css/$2 [L]
Ideas?
Try
RewriteBase /
RewriteRule ^site-css/([0-9]+)/(.*)$ ../application/site/$1/design/css/$2 [L]
This is caused by apache being set up to point to /public. The project doesn't have access to read files outside of its root.
Therefore I have moved site into public.