0

我正在使用 php、html5 和 javascript 开发一个 web 项目。现在我正在使用 php 在用户刷新页面时处理 URL,以便捕获子目录并重新计算页面的内容(因为我使用的是 ajax,所以需要它)。

好的,一切都以这种方式运行良好,但要实现这一点,我需要将每个请求重定向到我的页面到 index.php,该 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/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

感谢您的帮助。

4

1 回答 1

1

问题不在 mod_rewrite 上,而是在引用资源的链接上。它们被视为从重定向的子目录开始的相对路径,这使得这些资源不会被加载。我通过用斜杠开始每个资源(javascript、css 和图像)来解决它,使它们成为绝对路径,而不是像以前那样相对。

于 2012-10-22T22:06:46.550 回答