laravel not finding css and js - css

I have uploaded my project to shared hosting but the the css and js files fail to download.
I'm using AdminLte theme, the folder of AdminLte is located in public folder
The contents of .htaccess file(public/.htaccess)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# 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]
</IfModule>
and this is the .htaccess file that i made in project folder
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /public/$1
#RewriteRule ^ index.php [L]
RewriteRule ^(/)?$ public/index.php [L]
</IfModule>
The following errors occur:

Related

Wordpress permalinks problem installed in laravel with apache

I have a laravel application in: domain.com/co/app that controls it routes/web.php with code Route::post('/co/app'... I have installed wordpress in the public folder of laravel (laravel/public/co) resulting in the blog: domain.com/co.
But when I activate the permalinks in wordpress the lavarel application (domain.com/co/app) I get a wordpress 404 error.
I have ignored the path of the application from the wordpress .htaccess RewriteCond %{REQUEST_URI} !(app) [NC] but now I get an apache 404 error (The requested URL was not found on this server) and it does not show the laravel application.
This is the code of the .htaccess wordpress (laravel/public/co):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /co/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /co/index.php [L]
</IfModule>
This is the code of the .htaccesss de public (laravel/public)
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
This is the Route code of the Laravel application (laravel/routes/web.php)
Route::post('/co/app', [
'uses' => 'App#aaa'
])->name('app');
Thanks for the help
I found the answer, in this special case, first you do not have to edit anything in the .htaccesss of laravel/public you only have to edit the wordpress (laravel/public/co). Ignoring the laravel application path with RewriteCond %{REQUEST_URI} !^/co/app and adding a new module that points to the index.php of laravel/public
The problem is that WordPress can intentionally edit your .htaccess and delete our modification, for that we use a hack that is explained here.
My final wordpress .htaccess code is:
<IfModule mod_ignore_wordpress.c>
# 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 /co/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /co/index.php [L]
</IfModule>
# END WordPress
</IfModule>
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /co/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/co/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /co/index.php [L]
</IfModule>
#new module
<IfModule mod_rewrite.c>
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteBase /co/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Accessing Codeigniter folder inside Wordpress directory

I have installed Codeigniter into a directory called /portal inside my Wordpress directory. If I visit www.mydomain.com/portal I can see my default controller/view, which is a login page, however if I try to login I get a 404 error in the console for www.mydomain.com/auth/login.
Here's my Wordpress .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/portal [NC]
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
And my Codeigniter main .htaccess file
<IfModule mod_rewrite.c>
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
How do I get this to work?
Codeigniter 3, Wordpress 4.6.3, PHP 7.
You just need to add a question mark after the index.php like so:
RewriteRule ^(.*)$ index.php?/$1 [L]
So the full thing (in your CodeIgniter .htaccess file is like:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
1) wordpress .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
2) Codeigniter .htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
3) And Changed in your config file i.e portal/application/config/config.php - $config['base_url']
$config['base_url'] = '/portal';
It's work for me, you will try this.

.htaccess file for wordpress example.com/blog redirecting to example.com

My website at www.tripfelt.com uses the .htaccess below to handle pretty URLs:
Options +FollowSymLinks
# enable rewrite engine
RewriteEngine On
RewriteRule ^blog - [L,NC]
RewriteRule ^robots.txt - [L]
RewriteRule ^$ index.php?/ [QSA,L]
RewriteCond %{REQUEST_URI} !^/blog
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?/$1 [QSA,L]
www.tripfelt.com/blog uses the following .htaccess:
# 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
However, clicking on any blog item, instead of opening the blog story, is redirecting to the main site. Any ideas what I am doing wrong?
Try changing the base in your blog folder to /blog/ and remove the leading slash in the routing rule:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
# END WordPress
Solved
Blog folder
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress

Rewrite URL in wordpress with subfolders

I would like to make a simple URL rewrite but can not succeed... Here is what I have:
I have 3 websites on the same hosting.
www.websiteAAA.com - a regular website, located in '/website-AAA-folder' folder
www.websiteBBB.com - a regular website, located in '/website-BBB-folder' folder
www.websiteCCC-Wordpress.com - a Wordpress website, , located in '/website-CCC-Wordpress-folder' folder
I order to redirect the requests to the correct domain-filder I have an .htaccess file in the main directory:
Options +SymLinksIfOwnerMatch AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
#redirect to the correct folder
RewriteCond %{HTTP_HOST} websiteAAA.com$ [NC]
RewriteCond %{REQUEST_URI} !^/website-AAA-folder/.*$
RewriteRule ^(.*)$ /website-AAA-folder/$1 [L]
#redirect to the correct folder
RewriteCond %{HTTP_HOST} websiteBBB.com$ [NC]
RewriteCond %{REQUEST_URI} !^/website-BBB-folder/.*$
RewriteRule ^(.*)$ /website-BBB-folder/$1 [L]
#redirect to the correct folder
RewriteCond %{HTTP_HOST} websiteCCC-Wordpress.com$ [NC]
RewriteCond %{REQUEST_URI} !^/website-CCC-Wordpress-folder/.*$
RewriteRule ^(.*)$ /website-AAA-folder/$1 [L]
in /website-CCC-Wordpress-folder/ (where the wordpress site is), there is an additional .htaccess file:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
I woulde like to rewite www.websiteCCC-Wordpress.com/aaa/ to www.websiteCCC-Wordpress.com/?id=2&someugleurl=e&blabla=1
I add this line to my .htaccess file that is in the root folder:
RewriteRule ^(aaa)$ ?id=2&someugleurl=e&blabla=1 [L]
However, that does not work.
Please advice.
Thanks
Figured it out
You have to put the line
RewriteRule ^(aaa)$ ?id=2&someugleurl=e&blabla=1 [L]
to be first in the htaccess file in wordpress
RewriteRule ^(aaa)$ ?id=2&someugleurl=e&blabla=1 [L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Exclude a folder/directory from RewriteRule

I have a pretty standard WordPress .htaccess with the following URL rewrites
# 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
WordPress is installed in my domain root. I have some other scripts in subfolders, e.g. /opencart These subfolders contain their own .htaccess files.
Unfortunately, it seems that WordPress hijacks the rewrites for some of these scripts sometimes.
How can I ask mod_rewrite to ignore WordPress rules for rewrites when encountered with specific subfolders e.g. opencart and to use the rules defined in the .htaccess within these subfolders instead?
You may try replacing the complete WP rule-set with this one:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# Include in the next line all folders to exclude
RewriteCond %{REQUEST_URI} !(folder1|folder2|folder3) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
In the .htaccess file in your site root, add the following ABOVE the WordPress .htaccess directives:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR]
RewriteRule ^.*$ - [L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^/(folder1)/(.*) /folder1/$2 [R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L,R]
</IfModule>
# END WordPress

Resources