ModRewrite破坏样式和javascript

ModRewrite breaking styles and javascript

本文关键字:javascript 样式 ModRewrite      更新时间:2024-02-21

我对htaccess非常陌生,所以我不知道如何解决这个奇怪的问题。

我通过设置名称服务器将域连接到另一台服务器。然后,我使用htaccess和ModRewrite将路径链接到服务器上的子文件夹,使用这样的现有脚本:

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/t/domainfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /t/domainfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteRule ^(/)?$ t/domainfolder/index.php [L]

这非常有效,但我也希望(动态)不存在的目录也能工作,比如domain.com/user/username。我想我可以通过添加以下行来做到这一点:

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/t/domainfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/(.*)$ /t/domainfolder/app/index.php?user=$1 [L]
RewriteRule ^(.*)$ /t/domainfolder/$1
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteRule ^(/)?$ t/domainfolder/index.php [L]

这确实有效,但所有样式都会中断,只有纯HTML可见。控制台输出以下错误:

SyntaxError: Unexpected token '<'

该错误指向页面顶部doctype的<,因此看起来它对HTML或其他内容的解析不正确。如有任何帮助,我们将不胜感激!

编辑我的非工作添加似乎也破坏了指向该服务器的其他域

似乎打破了RewriteCond和RewriteRule对,添加了所有这些行:

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/t/domainfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user/(.*)$ /t/domainfolder/app/index.php?user=$1 [L]