【发布时间】:2012-01-12 12:43:12
【问题描述】:
我在 Codeigniter 中使用了路由来为我的页面获取干净的 URL。我还修改了 htaccess 文件以从 URL 中删除 index.php。
除了 1 个问题外,一切都很好 - 当我转到一个 URL 时,它不会加载 CSS 或图像,除非在 URL 中添加了尾随 /。
例如:
mysite.com/blah 不工作
mysite.com/blah/ 确实有效
.htaccess 文件中可能有什么东西?这是我的文件:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|user_photos|favicon|robots\.txt)
RewriteRule ^(.*)$ /subdirectory/index.php/$1 [L]
有什么想法吗?当然,我希望用户即使不添加尾随 / 也能够访问该页面
【问题讨论】:
-
您在包含中使用相对路径还是绝对路径,即
src="css/filename.css或src="/css/filname.css"? -
我的路径如下所示:href="css/structure.css" 或 href="../css/structure.css"
-
您是否尝试将它们更改为绝对?你有可能这样做吗?您是否检查了 Firebug 的
Network选项卡以查看在 CSS 不加载的情况下实际请求了哪些文件? -
更改为absolute时不起作用,CSS不会在任何页面上加载。
-
我认为这是因为它将 mysite.com/blah/ 视为它自己的目录,并将 mysite.com/blah 视为根目录,因此它在错误的位置(1 个目录)中寻找 CSS太高)。但我不知道要停止这样做,并将 mysite.com/blah 视为它自己的目录。
标签: .htaccess codeigniter