0

嗨,我在 .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/

4

3 回答 3

1

当浏览器显示:

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

并遇到一个相对 URL,例如:

<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

您应该对资产使用绝对 URL。养成这样的习惯:

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

或者,您可以在页面中使用 HTMLbase标签,它告诉浏览器如何处理相对 URL。我个人不推荐它。

于 2012-09-19T11:21:45.487 回答
1

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

于 2013-04-09T02:59:30.813 回答
0

采用

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

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

您还可以添加

RewriteCond %{REQUEST_FILENAME} !-l

对符号链接做同样的事情。

于 2012-09-19T11:18:09.917 回答