带有单/双​​引号或空格的链接正在重定向

Am testing on a localhost, my htaccess is as shown below:

RewriteEngine On 
RewriteRule ^user/(.*)$ pages/user.php?u=$1 [NC,L]  
RewriteRule ^bookmarks pages/bookmarks.php [QSA]  

If I type 'localhost/project/bookmarks' or 'localhost/project/user/username' I will be taken to bookmark's page or user's page.

If I added characters like '({[-,._' php will dissect the variable, if it doesn't comply with the page's url accepted characters it will echo error.

But when ' or " or space is added, the page will redirect instead of processing the '$_GET' request.

Book'marks or bookma'rks is redirecting to https://www.google.com/search?q=localhost%2Fproject%2Fboo%27kmarks&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb

How do I stop this from happening?

This is not your .htaccess or your php. This is your FireFox offering you google's search services. There are a number of ways to fix it (in FF's about:config page) but you might be best off just typing the http before localhost for local URLs.

Instead of

localhost/project/bookmarks

type in

http://localhost/project/bookmarks