0

我正在尝试使用 Apache mod_rewrite 使我的应用程序 URL 友好。
我心中有个重要的问题。标签 中href属性
的正确格式是什么?<a>

  1. <a href="/about/">
  2. <a href="about/">
  3. <a href="/about">

css、js和图像文件呢?

  1. <img src="images/photo.jpg">
  2. <img src="./images/photo.jpg">
  3. <img src="/images/photo.jpg">
4

2 回答 2

1

这是一个难以破解的难题,因为它完全是上下文驱动的,它们可能都意味着相同的事物或完全不同的事物,具体取决于它们所显示的上下文。

很可能您在第一个示例 1 和 3 中指示了相同的位置(/about/index.html 和 /about/index.php 失败)。2 取决于链接的位置(它是相对的),所以如果它出现在http://www.mydomain.com/index.html上,大约相当于 1 和 3,但如果它在http:// www.mydomain.com/services/widget-cleaning它指的是http://www.mydomain.com/services/about/index.html(或 .php)。

在您的第二个示例中,1 和 2 相同(第二个示例中的前导 . 表示来自此目录),而示例 3 表示站点根目录中的图像目录。(即http://www.mydomain.com/images/photo.jpg

简短的回答是您可能在第一个示例中表示 1,在第二个示例中表示 3。

于 2013-06-30T06:10:31.477 回答
0

对于第一个示例,mod_rewrite 无关紧要,它会查找匹配 'about',可选地使用尾部斜杠。

RewriteRule ^about/?$ about/index.php [NC,L]

关于第二个我使用图像的绝对路径来节省一些痛苦,你也可以使用规则来忽略图像和 css/js 文件。

重写规则 .(js|css|jpe?g|gif|png)$ - [L]

使用规则忽略 AJAX url 也很有用。

重写规则 ^ajax/(.+)$ - [L]

于 2013-07-01T05:06:05.367 回答