mod_rewrite 如果找不到文件则加载 css 和 js
mod_rewrite load css and js if file not found
我的 httpd.conf
中有这些行,它们使所有 url 作为单个参数 ('name'
),当我键入一个不存在的名称时 index.php 已正确加载并显示 404 消息。但问题是 JavaScript, CSS and other assets are not loaded.
即使 dir/ 文件不存在,如何加载这些文件。 ?我正在使用 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= [QSA,L]
</IfModule>
</Directory>
一般来说,FallbackResource
指令是一种更简洁、更高效的方式来实现您在这里尝试做的事情:
http://httpd.apache.org/docs/trunk/mod/mod_dir.html#fallbackresource
而不是 mod_rewrite
的东西,只写这个:
FallbackResource index.php
在 PHP 脚本中,您可以将 PATH_INFO
环境变量转换为您用来捕获 name
参数的任何变量。
我的 httpd.conf
中有这些行,它们使所有 url 作为单个参数 ('name'
),当我键入一个不存在的名称时 index.php 已正确加载并显示 404 消息。但问题是 JavaScript, CSS and other assets are not loaded.
即使 dir/ 文件不存在,如何加载这些文件。 ?我正在使用 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= [QSA,L]
</IfModule>
</Directory>
一般来说,FallbackResource
指令是一种更简洁、更高效的方式来实现您在这里尝试做的事情:
http://httpd.apache.org/docs/trunk/mod/mod_dir.html#fallbackresource
而不是 mod_rewrite
的东西,只写这个:
FallbackResource index.php
在 PHP 脚本中,您可以将 PATH_INFO
环境变量转换为您用来捕获 name
参数的任何变量。