mod 重写(css/图像)

发布于 2024-11-09 19:20:03 字数 280 浏览 0 评论 0原文

我使用以下内容重写我的网址:

RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)$ $1.html

问题是这会导致 css 和图像不出现 - 有没有一种方法可以从 css 和图像文件夹等文件夹中排除规则,以便按应有的方式显示而不是死图像并且没有CSS? 谢谢天使xx

im using the following to rewrite my urls:

RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.+)\.html$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.+)$ $1.html

the problem is this causes the css and images to not appear - is there a way that the rules can be excluded from folders like css and images folder so that the appear as they should instead of dead images and no css?
thanks Angel xx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

恬淡成诗 2024-11-16 19:20:03

最佳实践:

包含所有 css / 图像和 js 文件
当您应用.htaccess进行URL重写时,使用绝对路径而不是相对路径

Best Practice:

include all css / images and js files with
absolute path instead of relative path when you apply .htaccess for URL rewriting.

吻安 2024-11-16 19:20:03

尝试

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !/(css|images|js)/
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

用您的文件夹名称替换 css|images|js ,并用 | 分隔

希望这会有所帮助...

Try

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !/(css|images|js)/
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

Substitute css|images|js by your folder names, separated by |

Hope this helps...

独木成林 2024-11-16 19:20:03

将完整的域名放入 css 链接中:

<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

to

<link rel="stylesheet" type="text/css" href="http://www.yourdomain.com/css/style.css" media="all" />

当使用重写 url 时,您会得到目录:yoururl.com/dir/dir/item.html 使 html 中的 css 文件路径不正确。

如果您想避免这种情况,最好使用 css 文件的完整路径。您的浏览器不知道您正在重写网址,因此它认为您只是在浏览目录。

Put your complete domain in your css link:

<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

to

<link rel="stylesheet" type="text/css" href="http://www.yourdomain.com/css/style.css" media="all" />

When using rewrite url's you get directories: yoururl.com/dir/dir/item.html making the paths in your html to the css files incorrect.

If you want to avoid this it's best to use complete paths to your css files. Your browser doesn't understand you are rewriting url's so it thinks that you are just browsing trough directories.

迷路的信 2024-11-16 19:20:03

您可以更改

<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

<link rel="stylesheet" type="text/css" href="/css/style.css" media="all" />

“/”作为主机上的根目录。与“/image/...”类似。

希望这有帮助...

You can change

<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

To

<link rel="stylesheet" type="text/css" href="/css/style.css" media="all" />

"/" as root directory on your hosting. Similar with "/image/...".

Hope this helps...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文