【发布时间】:2016-03-12 23:51:45
【问题描述】:
我有 index.php 通过$_SERVER[‘REQUEST_URI’] 变量读取完整路径。我的任务是当用户输入时:www.domain/resource/777 重定向到 index.php,路径为 /resource/777 并解析 $_SERVER[‘REQUEST_URI’] 以执行一些逻辑。但我也有真实的文件和文件夹,例如:
- css/theme.css
- assets/assets.js
- resource/locale.js
当我尝试这个配置时:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [L]
客户端无法获取所有 css 和 etc 文件。如何在 Apache 中编写正确的规则来实现这一点?
【问题讨论】:
-
嗯,该配置通常对我有用。您能否提供更多信息。是否某些 css 文件有效但其他文件无效?还是所有css文件都不起作用。配置是在 .htaccess 文件中还是在 httpd.conf 中?
-
我在所有文件上都找不到 404。在 httpd.conf 中配置。真实示例:lib.c.nis.edu.kz/resource/5
-
感谢您的页面链接。当我向您的一个 .js 文件发送请求时,响应标头显示您的 Web 服务器是 nginx/1.8.0。 RewriteCond 等是 Apache 配置,而不是 nginx。您正在运行哪个网络服务器?
-
Nginx 位于 Apache 之上。 Nginx 只是代理传递给 apache 88 端口。
-
我不是一个期望,但上面的规则不是说将所有请求文件重定向到
index.php和index.php不是css也不是js文件??