Mod_Rewrite打破样式和javascript

时间:2013-12-04 11:31:01

标签: javascript php .htaccess

我对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或其他内容。任何帮助将不胜感激!

修改 我的非工作添加似乎打破了指向此服务器的其他域

1 个答案:

答案 0 :(得分:1)

看起来你破坏了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]