简体   繁体   中英

.htaccess File, path is redirected properly but images and css are not loaded

Hi I am using the following lines in my .htaccess file

Options +FollowSymLinks
RewriteEngine on
RewriteBase /coaster/CoasterInsider/
 RewriteRule signup$ index.php?page=signup [L,NC]
 RewriteRule login$ index.php?page=loginHandle [L,NC]
 RewriteRule u/(.*)$ index.php?page=profile&username=$1 [L,NC]

The path is getting redirected properly, but the css,flash and images are not loading. Also if I use the following '/' after any url say,

RewriteRule signup(/?)$ index.php?page=signup [L,NC]

It's not finding any page there, ie error 404. I just want my htaccess file to work for both /signup and /signup/

When browser displays:

http://example.com/coaster/CoasterInsider/signup
http://example.com/coaster/CoasterInsider/signup/

and encounters a relative URL such as:

<img src="site/images/photo.png">

It translates the relative URL to (respectively):

http://example.com/coaster/CoasterInsider/site/images/photo.png
http://example.com/coaster/CoasterInsider/signup/site/images/photo.png

You should use absolute URLs for assets. Make this a habit:

<img src="/site/images/photo.png">

Alternately you can use the HTML base tag in your pages which tells browsers how to treat relative URLs. Personally I do not recommend it.

这被建议,并为我工作,把它放在你的html<head>标签内: <base href="/">再次,它对我有用,我希望它能帮助别人。

Use

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

to exclude real files and directories from being rewritten.

You could also add

RewriteCond %{REQUEST_FILENAME} !-l

to do the same for symlinks.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM