如何防止图像和CSS重写

时间:2012-01-17 01:32:34

标签: .htaccess

我对htaccess有些疑问, 但首先我要为我糟糕的英语道歉。

我想问一下RewriteRule

1.如果我想更改我的网址扩展名,例如,如果我希望我的网址为mysite.com/file.html但真正的网址为mysite.com/file.php,该怎么做?

我使用了这段代码

RewriteRule ^(.*)\.html$ $1.php [R=301,L]

但是当我尝试时,我发现.html网址重定向到.php

2.当我尝试从http://mysite.com/file.php?varOne=something&varTwo=somethingelse重写网址时 到http://mysite.com/file/something/somethingelse/

所有css,js和图像都没有出现bcz dir改变了,

我该如何防止这种情况?

由于

2 个答案:

答案 0 :(得分:2)

您是否尝试过使用[L]代替[R=301,L]

RewriteRule ^(.*)\.html$ $1.php [L]

在html中嵌入CSS或图片时,尝试以斜杠开头从根目录中获取文件:

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

与图像相同:

<img src="/images/pic.png" alt="image" />
<img src="/mypic.png" alt="image" />

答案 1 :(得分:0)

添加以下行:

RewriteCond %{REQUEST_FILENAME} !-f

在所有RewriteRule行之前,以防止重定向css,js和图像。