【发布时间】:2011-08-31 20:41:51
【问题描述】:
我在我的 haccess 中使用 mod_rewrite 来制作干净的 URL。工作目录为webroot/subdir,htaccess 位于subdir
我的主文件夹可以正常工作
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^projects/([0-9]+)$ ?action=projects&id=$1
RewriteRule ^projects ?action=projects
RewriteRule ^clients ?action=clients
RewriteRule ^admins ?action=admins
RewriteRule ^settings ?action=settings
所以这些链接就像webroot/subdir/projects 或webroot/subdir/settings 一样有效。
我的问题出现在我必须添加 id 的 projects 行上。当我单击一个类似以下内容的链接时:webroot/subdir/projects/284,我所有的样式表和图像都会中断。我的 CSS 设置如下:
<link rel="stylesheet" href="resources/css/reset.css" />
<link rel="stylesheet" href="resources/css/main.css" />
<link rel="stylesheet" href="resources/css/buttonPro.css" />
有没有办法解决这个问题?我的重写规则有错吗?
【问题讨论】:
-
更好地为每个项目设置虚拟主机,然后在您的
hosts文件中创建一些假域名(例如project1.dev)。然后您可以在没有/webroot/subdir前缀的情况下访问您的特定项目。在任何情况下——@animuson 关于你应该如何定义你的 css/js/images 的方式是正确的。 -
是的,我继续做了这样的事情
<link rel="stylesheet" href="/<?php echo INSTALL_DIR; ?>/resources/css/reset.css" />
标签: .htaccess mod-rewrite relative-path