我有index.php,它按$_SERVER[‘REQUEST_URI’]
变量读取完整路径.我的任务是当用户输入:www.domain/resource/777
重定向到index.php
路径/resource/777
并解析$_SERVER[‘REQUEST_URI’]
以做一些逻辑.但我也有真实的文件和文件夹,如:
CSS/theme.css
资产/ assets.js
资源/ locale.js
当我尝试这个配置时:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php [L]
客户端无法获取所有css和etc文件.如何在Apache中编写正确的规则来实现这个目标?
如果您使用的是Apache 2.2.16或更高版本,则可以使用一个指令完全替换重写规则:
FallbackResource /index.php
请参阅https://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource
基本上,如果请求导致错误404,则回退资源uri将用于处理请求,正确填充$_SERVER[‘REQUEST_URI’]
变量.