skip to Main Content

i’m trying to set up a local development environment using XAMP as my localhost.

My issue is, that i place my projects in sub-folders in the htdocs folder.

This means my directory structure is:

localhost/myProject/index.php

However, that also means the "root" of my project is "localhost" and not "localhost/myProject" as i want it to be.

Any advice on how i fix this?

For total clarity, the reason why i wanna fix it is that i use CakePHP, and it has a structure like: "root/controller/action", but since it is placed in a folder in htdocs, i access it like: "localhost/myProject/controller/action" – the issue is, that it thinks "myProject" is the controller to look for. This is what i am trying to fix. If you have any ideas, please, for the love of god help me

HTACCESS UPDATE

Root .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule    ^$    webroot/    [L]
RewriteRule    (.*) webroot/$1    [L]

RewriteBase /bakesystem

#Rewrite everything to https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

webroot .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

#Rewrite everything to https - disabled on test

#RewriteEngine On
#RewriteCond %{HTTPS} !=on
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

2

Answers


  1. Thats nothing to "fix", because that’s the expected behaviour. For that instance you can create VirtualHosts where you tell your apache where the DocumentRoot of your project is, linked to a "unique" hostname in your browser.

    Here is an example how to do it using windows as your OS.
    How To Set Up Apache Virtual Hosts on XAMPP (Windows)

    Here is a quick example how such a virtual host looks like:

    <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      DocumentRoot "C:/xampp/htdocs/example
      ServerName example.local
      SetEnv APPLICATION_ENV development
      ErrorLog "logs/example-error.log"
      CustomLog "logs/example-access.log" common
    </VirtualHost>
    

    You also want to edit your hosts file, but everything is explained in the Topic i linked.

    Depenging on your OS, the pathes my differ.

    Login or Signup to reply.
  2. You have got rewrite engine twice in the root .htaccess. Go back to your default htaccess (If you don’t have a backup copy, get it from a fresh cakephp project).

    And then try to set project root at your config file (/app/Config/core.php)

    Configure::write(‘App.fullBaseUrl’, ‘http://example.com’);

    Change this to your base url and update me..

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search