Jump to content


Photo

RewriteBase to subdirectory as absolute path even for leading slash?

rewritebase slash absolute path htaccess

  • Please log in to reply
1 reply to this topic

#1 BagoZonde

BagoZonde

    Advanced Member

  • Members
  • PipPipPip
  • 70 posts

Posted 22 March 2013 - 05:21 AM

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.

 


A=1-A ...from Basic...
$a=1-$a ...thru PHP...
LDA $01 EOR #1 ...to 6502 ASM :}

Does it mean I'm going low-level?! ;]

#2 BagoZonde

BagoZonde

    Advanced Member

  • Members
  • PipPipPip
  • 70 posts

Posted 18 June 2015 - 03:16 PM

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, 18 June 2015 - 03:17 PM.

A=1-A ...from Basic...
$a=1-$a ...thru PHP...
LDA $01 EOR #1 ...to 6502 ASM :}

Does it mean I'm going low-level?! ;]




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users