Welcome Guest, Not a member yet? Register   Sign In
Unable to remove "public" and "inde.php" from url in wampserver
#1

Hello,
I installed CodeIgniter 4.3.3. with composer and start project "cimvc".
I also update App.php in order to remove public and index.php from url with:
PHP Code:
public string $baseURL 'http://localhost/cimvc/';
public 
string $indexPage 'index.php';
public 
string $uriProtocol 'PATH_INFO';

I also copied index.php and .htaccess from public to root folder and change path line to
Code:
require FCPATH . 'app/Config/Paths.php';
It works perfect if I test it with spark server from cmd at http://localhost:8080, but in wamp server at http://localhost/cimvc it doesn`t remove public and index.php from url if I put it in.
Is it possible to fix it so it works equally in both servers / ways of testing.
.htaccess file in root folder looks like this:

PHP Code:
# Disable directory browsing
Options -Indexes

# ----------------------------------------------------------------------
# Rewrite engine
# ----------------------------------------------------------------------

# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.
<IfModule mod_rewrite.c>
 
Options +FollowSymlinks
 RewriteEngine On

 
# If you installed CodeIgniter in a subfolder, you will need to
 # change the following line to match the subfolder you need.
 # http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase
 # RewriteBase /

 # Redirect Trailing Slashes...
 
RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond 
%{REQUEST_URI} (.+)/$
 
RewriteRule ^ %[L,R=301]

 
# Rewrite "www.example.com -> example.com"
 
RewriteCond %{HTTPS} !=on
 RewriteCond 
%{HTTP_HOST} ^www\.(.+)$ [NC]
 
RewriteRule http://%1%{REQUEST_URI} [R=301,L]

 # Checks to see if the user is attempting to access a valid file,
 # such as an image or css document, if this isn't true it sends the
 # request to the front controller, index.php
 
RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond 
%{REQUEST_FILENAME} !-d
 RewriteRule 
^([\s\S]*)$ index.php/$[L,NC,QSA]

 
# Ensure Authorization header is passed along
 
RewriteCond %{HTTP:Authorization} .
 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</
IfModule>

<
IfModule !mod_rewrite.c>
 
# If we don't have mod_rewrite installed, all 404's
 # can be sent to index.php, and everything works as normal.
 
ErrorDocument 404 index.php
</IfModule>

# Disable server signature start
 
ServerSignature Off
# Disable server signature end 
Grateful in advance
Reply
#2

uncomment RewriteBase /
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply
#3

Thanks for quick answer.

But no, it does not work.
Reply
#4

(04-22-2023, 11:09 PM)InsiteFX Wrote: uncomment RewriteBase /

It does not work.
Reply
#5

On Windows I have to add this to my .htaccess file for it to work.

Code:
# Remove index.php from URL
RewriteCond %{HTTP:X-Requested-With}    !^XMLHttpRequest$
RewriteCond %{THE_REQUEST}              ^[^/]*/index\.php [NC]
RewriteRule ^index\.php(.*)$            $1 [R=301,NS,L]
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply




Theme © iAndrew 2016 - Forum software by © MyBB