Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 使用htaccess重写时,不会加载css、图像和供应商文件夹_.htaccess_Mod Rewrite - Fatal编程技术网

.htaccess 使用htaccess重写时,不会加载css、图像和供应商文件夹

.htaccess 使用htaccess重写时,不会加载css、图像和供应商文件夹,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,下面是我正在使用的htaccess脚本: Options +FollowSymlinks RewriteEngine On RewriteRule ^gecko/([^/]*)$ gecko.php?gecko=$1 [L] 哪些更改http://localhost/geckology/gecko.php?gecko=Zilly(这会很好地加载css等)到http://localhost/geckology/gecko/zilly它不会加载css等,因为它在这样的目录中查找http://lo

下面是我正在使用的htaccess脚本:

Options +FollowSymlinks
RewriteEngine On

RewriteRule ^gecko/([^/]*)$ gecko.php?gecko=$1 [L]
哪些更改
http://localhost/geckology/gecko.php?gecko=Zilly
(这会很好地加载css等)到<代码>http://localhost/geckology/gecko/zilly它不会加载css等,因为它在这样的目录中查找
http://localhost/geckology/gecko/css/theme.css
应在何时使用
http://localhost/geckology/css/theme.css


该网站非常庞大,因此如果可能,我希望有一种htaccess方法来解决此问题,但是如果不可能,我会将所有内容都更改为绝对URL

您可以通过简单地将其添加到页面标题来解决相对URI基:

<base href="/" />

这会盲目地重写任何试图访问/gecko/path中的“css”、“image”或“other”文件夹的URL。

您忘记发布在网络(协议)级别上收到的真实错误消息。打开浏览器开发控制台并检查所做的(子)请求。公布结果。另外,您显然应该在服务器文件上控制台错误日志文件。@arkascha我有,我说过错误是从
/gecko/
目录加载,而它应该从根目录加载,所以不是
geckology/gecko/css
它应该是
geckology/css
OK,我没有从问题中清楚地读到这一点。不管怎样,这看起来像是在使用css和图像等内容的相对链接,这很好。然而,如果您使用这样一个通用的重写规则,那么您必须防止这些链接被重写。所以你需要规则的例外。例如,指向以“”结尾的url的链接的例外情况。您可以使用
RewriteCond
命令来实现这一点。这是很公平的,尽管它在第一段的最后一行确实这样说了。我会看一看RewriteCond,但这对我来说是全新的,Jon,这非常有效。非常感谢您的诚实和帮助:)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^gecko/(css|images|other)(/.*)$ /$1/$2 [L]