Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.


Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

change the path for silverstripe-links?


4 Posts   1324 Views


7 July 2008 at 7:59pm Community Member, 2 Posts

is there an easy way to make silverstripe use another directory for internal links, than the directory it is installed in? For example: silverstripe is installed in "silverstripe_cms" - but instead of "/silverstripe_cms/home/" i want the links to use "/silverstripe/home/" ...


8 July 2008 at 12:55pm Forum Moderator, 5511 Posts

You would need to write a custom .htaccess rewrite rule. Not for beginners but you might find these helpful

For your case you would need to do something like this. I think :P

RewriteRule ^(.*)/silverstripe/(.*)$ $1/silverstripe_cms/$2 [L,R=301]


8 July 2008 at 6:35pm Community Member, 2 Posts

that's my problem - there is no mod_rewrite on the webspace i am currently working on (it's a cheap one and the hoster won't enable ist). Therefore i'm trying to find a way to run silverstripe without apache-urlrewriting.
is there someone who did this already or can you give me a little hint how to do it "the best way"? ;)


14 July 2008 at 6:09pm Administrator, 685 Posts

Well, all of the URLs internally map to sapphire/main.php?url=(friendly url)

You could try making a small file such as p.php in your site root:

You could then access URLs:

The p.php script would need to be a modified version of main.php, that manually parses the contents of the $_SERVER variables and then passes control to Director::direct(). It would also need to do things like chdir('sapphire') to ensure that includes and relative file references work.

You would probably want to use something like Director::setBaseUrl("") to ensure that all the URLs matched up properly.

It's not going to a simple matter of flipping a switch, but it would be possible.