I just finished deploying a Rails application onto a subdomain of a site that has WordPress installed on the root domain. Unfortunately, WordPress’ htaccess rules made it a little bit more difficult to launch than expected.
Here’s what I did to get Rails and WordPress to play nicely together:
First, I uploaded the Rails app into it’s own directory (assume the application is called my_app):
~/app/my_app
After creating the subdomain, I created a symbolic link from within the public_html directory of the WordPress installation to the Rails application’s public directory:
ln -s ~/app/my_app/public ~/public_html/my_app
Finally, I added the following two rules to the htaccess file:
RewriteCond %{REQUEST_URI} !^/my_app.* RewriteCond %{SERVER_NAME} !my_app.domain.com
The final htaccess file looks like this:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_URI} !^/my_app.* RewriteCond %{SERVER_NAME} !my_app.domain.com RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
Note that if you update the permalinks within WordPress, then this file will be overwritten and you’ll need to correct the changes.
Leave a Reply
You must be logged in to post a comment.