我在httpd.conf
中有这些行,它们将所有url作为单个参数('name'
),当我键入一个不存在的名称时,index.php正确加载并且显示404消息。但问题是JavaScript, CSS and other assets are not loaded.
即使目录/文件不存在,如何加载这些文件。 ?我正在使用relative paths
。谢谢;)
<Directory "c:/Apache24/htdocs/public">
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?name=$1 [QSA,L]
</IfModule>
</Directory>
答案 0 :(得分:1)
通常,FallbackResource
指令是一种更清晰,更高效的方式来实现您在此处尝试的目标:
http://httpd.apache.org/docs/trunk/mod/mod_dir.html#fallbackresource
而不是mod_rewrite
的东西,只需写下:
FallbackResource index.php
在PHP脚本中,您可以将PATH_INFO
环境变量转换为用于捕获name
参数的任何内容。