2012-01-17 49 views
0

我使用winXP和AppServ。我的网站根目录中有一个“showitem.php”。一个例子用法: www.mydomain.com/showitem.php?id=123
我想使用链接像下面:
www.mydomain.com/item/123
在.htaccess我写这行:
RewriteRule ^item/([^/]+)$ showitem.php?id=$1如何解决CSS包括Apache RewriteRule之后的错误?

服务器指示showitem.php即可ID是成功接收。然而,主要的问题是与CSS和JS文件。如果我将“css/style.css”设置为“/css/style.css”,则页面显示在互联网上,但不显示在本地主机上,因为root是“localhost”,但文件位于“localhost/mydomain”下。我也尝试了.css文件的“!-f”条件,但它没有帮助,而且我无法理解。为了解决这个问题,我应该将错误的css文件解释到正确的位置,所以我想将客户端请求“item/css/style.css”重定向到它的原始位置“css/style.css”。我为localhost添加了以下规则,但有没有其他方法?

RewriteRule ^item/css/([^/]+)$ /mydomain/css/$1 
RewriteRule ^item/img/([^/]+)$ /mydomain/img/$1 

回答

1

在你的html头文件中设置一个基本标签。

<base href="http://www.mydomain.com/" />

然后设置样式表链接相对于基座,例如路径

<link href="css/style.css" />

+0

因为我在同一时间,因为他们是在我的本地开发CSS,JS和PHP,这不是我的实际。 – Mehmed 2012-01-17 11:22:42

+0

为什么这应该不切实际?将其设置为“http:// localhost /'。我刚刚从您的示例中获取了数据。 – pduersteler 2012-01-17 11:44:02

+0

thnx寻求帮助,它有助于和良好的做法 – 1Mayur 2013-07-20 08:27:09

0

你可以写这些的文件.htaccess

ErrorDocument 404 /error_404.php 

/error_404.php是你想放的东西在那里,你的错误文件。