Laravel Redirect redirects URL to index.php

One of the first things that I do when I start using a new framework (CodeIgniter, Laravel etc) is to remove the default index.php from the URL.

When you install Laravel and you want to remove index.php from the URL simply do this (If you are using Apache, make sure that mod_rewrite is enabled):

Create .htaccess file in your public directory and add this:

<IfModule mod_rewrite.c>
     RewriteEngine on

     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d

     RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Many developers do this and forget that there is another step. Everything works fine until you use Laravel’s Redirect class, for example:

return Redirect::to ('someurl'); 

This redirects you to index.php/someurl instead of someurl.

What you need to do is to open application/config/application.php file and you will see this on the line 42:

'index' => 'index.php'

Remove index.php so it becomes

'index' => ''

Save the file and now you have a cleaner, nicer URLs without the index.php.

How to embed styled tweets in your posts or pages

A lot of people don’t know that there is an easy way to embed tweets on your site with all the formatting and styling so they look just like on twitter.com. In addition, tweet will also contain avatar, reply,favorite,follow and other buttons so it is also functional.

For example look at this embedded tweet:

Looks nice, doesn’t it? Good news is that it is very simple but you need to go to twitter.com and follow these steps:

1. When you see a tweet in your stream that you would like to embed simply click on the date (when the tweet was posted) link – in our example above that link/date is “22 Mar 06”.

2. When the tweet is displayed click on the “Embed this Tweet” link and pop-up box will appear.

3. Copy the entire HTML code and paste it into the source (HTML) code of your page anywhere you want (inside body tag).

This is how the code for above tweet looks like:

<blockquote class="twitter-tweet">
<p>just setting up my twttr</p>&mdash; Jack Dorsey (@jack) 
<a href="https://twitter.com/jack/status/20" data-datetime="2006-03-21T20:50:14+00:00">March 21, 2006</a>
</blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

Keep an eye on this line :

<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

This JavaScript,which is fetched from twitter website, makes your tweet embed look all nice like in our example above. If you forget to copy it your embedded tweets will not be styled properly.

If you embed only one tweet per page then you can include this line after blockquote. If you embed several tweets then include this line only once, somewhere at the bottom of the page or inside meta tag.

How to Fix – WordPress: Briefly unavailable for scheduled maintenance. Check back in a minute

WordPress update stuck in maintenance mode

In some cases the message “Briefly unavailable for scheduled maintenance. Check back in a minute” doesn’t disappear after you update your WordPress, despite the update being successful. Even worse – you are locked out of admin because both admin and your site display this message.

How to fix the WordPress maintenance mode problem? The solution is simple. Use your FTP program to connect to your server and delete the .maintenance file from your server (it is in the WordPress root directory, same as .htaccess). In most cases this will fix it. If the update did not finish then loginto admin and try to reinstall WordPress updates.

Stylesheets / CSS not or partially loading, site partially loaded

Every now and then I encounter a problem where several sites that I visit fail to displays CSS. It looks something like this  (Gizmodo website):

css not loading, website partialy loaded gizmodo

The problem appears when something goes wrong while you are deleting browser cache,cookies etc. In my case it usually happens when I use CCleaner (free tool for cleaning your Windows PC) and I accidentally open Firefox (or other browser) while CCleaner is deleting the cache.  Websites start to look like above screenshot and refreshing the page doesn’t help.

The solution is to refresh the page with CTRL + F5, which forces browser to redownload the entire site from internet and not from local cache. This solves problem only for that site so what I do is close all browsers and run CCleaner again.

Missing XML tag This required tag is missing. Please add it and resubmit ror.xml

Why do I need sitemap?

Sitemaps are a very useful way to  allow a webmaster to inform search engines about URLs on a website that are available for crawling. If you are using WordPress or some other CMS you can simply install a plugin (or maybe XML sitemap generation is already inbuilt module) and it will automatically create a sitemap for you. But sometimes you want to create a sitemap by yourself. There are several free services that allow you to create sitemaps for free, like xml-sitemaps.com , rorweb.com and so on. After you create a sitemap you should upload it to your website and submit to to Google,Yahoo etc.

That was a little sitemap introduction and now to the problem I encountered.I am not going to go into discussion if ROR sitemaps are better than Google/XML sitemaps or even needed (I don’t really use it but some people might find it useful). I am just describing solution to a possible problem you might encounter when making a ROR sitemap.

Google Webmaster Tools and ror.xml error

I built a ROR sitemap using xml-sitemaps.com site,uploaded to my site  and added it in Google Webmaster Tools admin and Google showed me this error:

Missing XML tag
This required tag is missing. Please add it and resubmit.

Parent tag: channel
Tag: description

At first I thought that xml-sitemaps.com ROR generator is outdated so I used one at rorweb.com/rormap.htm but I got the same error.  After searching the net I found the solution is very simple:

Open the ror.xml file in your text editor and find this (the beginning of the document,it might look a little different)

<channel>
<title>ROR Sitemap for http://www.yoursite.com/</title>
<link>http://www.yoursite.com/</link>
<item>

and paste the description line between the title the link lines so it will look like this:

<channel>
<title>ROR Sitemap for http://www.yoursite.com/</title>
<description>ROR Sitemap for http://www.yoursite.com/</description>
<link>http://www.yoursite.com/</link>
<item>

Save the file,reupload to your server and resubmit to Google Webmaster Tools (refresh the page) and the ‘Missing XML tag This required tag is missing. Please add it and resubmit’ error should disappear.

Sublime Text 2 opens “instant file search” instead of printing left square bracket in Windows

This problem only appears on certain keyboards and languages where left and right square brackets are placed on letters F and G. Even if you have similar problem with different keyboard or key binding /letters you can still use this solution.

I was using Sublime Text 2, which is really fantastic editor, on Windows 7 and encountered a weird problem. When I pressed AltGr+F Sublime Editor 2 didnt print “[” (left square bracket) – it opened Instant File Search tool instead.

The reason for this is that Windows sees AltGr as Ctrl+Alt, and therefore AltGr+F will be understood as Ctrl+Alt+F, which is a default keymap for Instant File Search tool.

To fix this you need to override the default Ctrl+Alt+F shortcut so it will insert the desired character by inputting that shortcut in user key-bindings.

Do this:
1. Select “Preferences > Key Bindings – User” in Sublime Text 2 menu
2. Paste the following code there:

[
{ "keys": ["ctrl+alt+f"], "command": "insert", "args": {"characters": "["} }
]

If your Key Bindings – User file is not empty then just add the code without the square brackets (line 1 and 3) and dont forget to add comma at the end or at the begging of the line.

Small font of command window (cmd) on Windows 7

Every now and then when I start the command prompt on Windows 7 (Click on Start and type cmd) it opens in a very  small window. The font and command prompt (cmd.exe) are so small that it is unreadable. To fix this follow these simple steps:

1. Right click anywhere in the  top bar (or left click on that small thumbnail in top left) of the small command prompt window and select  “Properties”.

Command prompt properties

2. Click the Font tab and simply select the font size you like and click OK . I use 7 x 12 font size and Raster Fonts.

font properties command prompt

Fix the “no connection” in your Google Play / Market with date change

There are several reasons why you can get “No connection / Retry” error message in your Google Play or Market. Some are really a connection, wifi or 3G related and some aren’t. There is another reason that might give you this message and it is not really related to connection. This happened to me when I had Samsung Spica.  Wifi was on but I still got the “No connection / Retry” message. After trying nearly every “hack” solution, reinstalling Spicagenmod, downgrading Google Play to Market  etc I still got the same error. I only realized that the solution is much simpler after I opened Opera Mini that gave me this error :

Connection Failed : Verification of server certificate failed. Please check the date setting in your device

I went straight to Settings -> Date & Time  and it was set to year 2005! The reason why this happened is because Spica battery was really old and every time I turned the phone off the date reset itself to 2005. I changed date back to correct date and everything started working instantly – Google Play / Market and Opera. I wish I knew this before I spent few hours with every other fix possible.

As I mentioned there are many reasons why you can get “No connection / Retry”. If this doesn’t solve your problem then unfortunately it’s something different.

Stop WordPress Asking For FTP details When You Install / Upgrade Plugins

When you want to install or upgrade a plugin, WordPress will most probably display this message:

Connection Information

To perform the requested action, WordPress needs to access your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

If you are on shared hosting you might not have this problem but if you are on a VPS or Dedicated server you will most probably get asked to supply FTP credentials every time you want to install or upgrade plugin or even WordPress. This can become an annoyance if you install plugins a lot so this is one of the first things I always fix when I install new WordPress site.

Here is how to solve it: open your wp-config.php file (by default it can be found in your root WordPress directory) with text editor and simply add your ftp login information near the bottom of the wp-config.php file (just above the /** Sets up WordPress vars and included files. */ comment for example):

//*add your FTP credentials*
define('FTP_HOST', 'host_IP_or_FTP_url');
define('FTP_USER', 'FTP_username');
define('FTP_PASS', 'FTP_password');
//*If you like and can use a SSL connection set this to true*
define('FTP_SSL', true);

After you do this your won’t be asked for FTP credentials anymore. There are other solutions like settings permission with chown via shell or installing suPHP on your server but this one seems to be the easiest.

If the above fails for whatever reason you can comment the above code and try adding the following code in the wp-config.php file,somewhere at the top:

define( 'FS_METHOD', 'direct' );
define( 'FS_CHMOD_DIR', 0777 );
define( 'FS_CHMOD_FILE', 0777 );

This forces files to be writable by the server. You should only use this if adding FTP credentials method fails.