如何在 HTACCESS 中将 *.css 重定向到 script.php 文件? (不是索引)

发布于 2024-11-06 23:36:30 字数 277 浏览 2 评论 0原文

例如:

HANDLER *.css --> process-css-files.php
HANDLER *.(jpg|png|gif|jpeg) --> process-image-files.php

另外如何:

if (*.css EXISTS) then
   include( THAT_FILE )
else
   process_URL-->( process-css-files.php )

For example:

HANDLER *.css --> process-css-files.php
HANDLER *.(jpg|png|gif|jpeg) --> process-image-files.php

In addition how to:

if (*.css EXISTS) then
   include( THAT_FILE )
else
   process_URL-->( process-css-files.php )

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

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

发布评论

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

评论(3

如梦 2024-11-13 23:36:30

我使用类似的方法将 css 文件夹中的 css 脚本组合到单个串联文件中:

RewriteRule ^css/(.*\.css) /combine.php?file=$1

I use something like this for combining css scripts within the css folder to a single concatenated file:

RewriteRule ^css/(.*\.css) /combine.php?file=$1
乱了心跳 2024-11-13 23:36:30

大多数情况下,您将使用 mod_rewrite 来重定向 URL。您应该将以下内容放入您的 .htaccess 文件中(如果您的服务器支持它):

RewriteEngine on
RewriteRule ^/?(.+)\.css$ process-css-files.php?name=$1
RewriteRule ^/?(.+)\.(jpg|jpeg|gif|png)$ process-image-files.php?name=$1&extension=$2

这将解决您问题的第一部分(我认为)。我确信有一种方法可以让 .htaccess 在重写 URL 之前检查文件是否存在,但我对 PHP 更有经验,所以我可能总是重定向到 PHP 文件,然后让 PHP 完成所有工作检查等:

<?php
$name = $_GET['name'].'.css';
header('Content-type: text/css');
if (file_exists($name)) {
    echo file_get_contents($name);
} else  {
    // do whatever
}
?>

For the most part, you're going to use mod_rewrite to redirect URLs. You should put the following in your .htaccess file (if your server has support for it):

RewriteEngine on
RewriteRule ^/?(.+)\.css$ process-css-files.php?name=$1
RewriteRule ^/?(.+)\.(jpg|jpeg|gif|png)$ process-image-files.php?name=$1&extension=$2

That would solve the first part of your question (I think). I'm sure there's a way to get .htaccess to check if a file exists before rewriting the URL, but I'm more experienced with PHP, so I'd probably just always redirect to the PHP file, and then have PHP do all the checking and whatnot:

<?php
$name = $_GET['name'].'.css';
header('Content-type: text/css');
if (file_exists($name)) {
    echo file_get_contents($name);
} else  {
    // do whatever
}
?>
花开浅夏 2024-11-13 23:36:30

我相信这一切都可以通过 .htaccess 规则来处理。尝试这样的事情:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteRule ^([^.]*\.(jpe?g|png|gif))$ process-image-files.php?img=$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]*\.css)$ process-css-files.php?css=$1 [L,NC]

I believe all this can be handled by .htaccess rules. Try something this:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteRule ^([^.]*\.(jpe?g|png|gif))$ process-image-files.php?img=$1 [L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]*\.css)$ process-css-files.php?css=$1 [L,NC]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文