我对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改变了,
我该如何防止这种情况?
由于
答案 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和图像。