.htaccess文件,路径被正确重定向,但未加载图像和CSS

时间:2012-09-19 11:12:28

标签: php apache .htaccess url-rewriting seo

您好我在.htaccess文件中使用以下行

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]

路径正在重定向,但css,flash和图像未加载。如果我在任何网址之后使用以下'/',

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

它没有在那里找到任何页面,即错误404.我只是希望我的htaccess文件适用于/ signup和/ signup /

3 个答案:

答案 0 :(得分:1)

浏览器显示时:

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

并遇到相对网址,例如:

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

它将相对URL转换为(分别):

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

您应该使用资产的绝对网址。养成这个习惯:

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

或者,您可以在页面中使用HTML base标记,告知浏览器如何处理相对网址。我个人不推荐它。

答案 1 :(得分:1)

我被建议并为我工作,将其放在<head>中的html标签内:<base href="/">再次,它对我有用,我希望它可以帮助其他人。

答案 2 :(得分:0)

使用

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

排除真实文件和目录被重写。

你也可以添加

RewriteCond %{REQUEST_FILENAME} !-l

为符号链接做同样的事。