Jump to content
BagoZonde

RewriteBase to subdirectory as absolute path even for leading slash?

Recommended Posts

Hello,

 

For testing purposes I need to run site from /test_directory/, however every element in index.php and other places uses absolute path, e.g.:

 

/styles/style.css

/images/some_image.jpg

 

I was trying rewriting base to /test_directory/ but unfortunately instead of reading from:

 

www.mysite.com/test_directory/styles/style.css

 

PHP is reading from:

 

www.mysite.com/styles/style.css

 

where that file of course not exists.

 

I'm not familiar with RewriteBase, however I think it should work that way if I want change base dir to subdirectory.

 

So I need to change absolute path to every single file and every link.

 

Here we go with my .htaccess:

 

 

RewriteEngine On
RewriteBase /test_directory/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?var=$1 [QSA,L]

 

Any help will be appreciated.

 

Share this post


Link to post
Share on other sites

Ok, one person asked me about this problem privately an hour ago, so after a few years, well, just two years, I can answer to my question :). Hope it helps other.

 

This is very easy task, as .htaccess must be available in both directories. And the only difference between them is RewriteBase parameter:

 

For main directory it will be:

RewriteBase /

And for test_directory it will be just:

RewriteBase /test_directory

So it's easy to keep whole project in separate directory nested in other one.

 

I must say that it's funny how everything has changed in my development workflow since this post. For now I'm using VM with Vagrant and Ansible provisioning, Jenkins and so on. For this particular example I would rather expose my VM for somebody, or just create some staging server, etc. however sometimes it's quicker just to put some files somewhere so here is an answer. I hope everything's clear :).

Edited by BagoZonde

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.