我正在使用php,html5和javascript开发一个web项目。现在我在用户刷新页面时使用php来处理URL,以便捕获子目录并重新计算页面内容(因为我使用的是ajax所以需要它。)
好的,everithing在这种方式下工作得很好,但为了实现这一点,我需要将每个请求重定向到我的页面到index.php,它调用另一个名为controller.php的文件。 为此,我使用以下.htaccess代码:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/index\.php -f
RewriteRule ^(.*)$ /MySubDirectory/index.php [QSA]
我正在localhost上测试它,所以对于以下模式:
localhost/MySubDirectory/
localhost/MySubDirectory/something
它可以工作,但是当我添加一个新文件夹时:
localhost/MySubDirectory/something/somethingelse
我在css和javascript导入上出现了奇怪的错误
Uncaught SyntaxError: Unexpected token < jquery-1.8.2.min.js:1
Uncaught SyntaxError: Unexpected token < jquery-ui-1.9.0.min.js:1
Uncaught SyntaxError: Unexpected token < SpriteAnimation.js:1
Uncaught SyntaxError: Unexpected token < Bile.js:1
感谢您的帮助。
答案 0 :(得分:1)
问题不在mod_rewrite上,而是在引用资源的链接上。它们被视为重定向子目录中的相对路径,这使得这些资源无法加载。 我通过用斜杠开始每个资源(javascript,css和图像)来解决它,使它们成为绝对路径而不是之前的相对路径。