0

我正在尝试使用 mod_rewrite 将我的博客 URL 转换为对 SEO 更友好的格式。我所有的文章都存储在一个简单的 MySQL 数据库中。每个博客文章 url 如下所示:

http://www.test.com/blog?id=20&category=online%20php%20tutorials&pagename=how%20to%20customize%20functions

我已经设法使用 mod_rewrite 使它们看起来像这样:

http://www.test.com/blog/online-php-tutorials/how-to-customize-functions/20

这是我在 .htaccess 文件中调整的代码:

RewriteRule ^blog/([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ /blog?id=$3&category=$1&pagename=$2 [L]

所以会发生这样的事情:当我单击 URLhttp://www.test.com/blog/online-php-tutorials/how-to-customize-functions/20时,我的所有 CSS 和图像都没有加载,因为它试图从一个实际不存在的目录中加载它们。我将如何加载文件而不必创建包含我的网站 CSS 文件和图像的多个目录?

4

2 回答 2

2

/在路径中使用根标识符。这将指向您服务器的 DocumentRoot。让我解释一下这是如何工作的

对于这样的图像:

<img src='test.jpg' /> 

浏览器/服务器会发现它,http://www.test.com/blog/online-php-tutorials/how-to-customize-functions/20/test.jpg'但如果您/在路径之前使用

<img src='/test.jpg' />

它会在http://www.test.com/test.jpg

另一种技术

在文件中使用完整路径,例如:

<img src='http://test.com/test.jpg' />
于 2013-09-12T21:22:54.200 回答
0

您将希望您的 CSS 路径基于您的域的根目录。如果您的 CSS 文件位于http://example.com/includes/style.css,您应该使用/includes/style.css包含该文件而不是includes/style.css.

于 2013-09-12T21:23:33.910 回答