0

我在网上搜索了一个解决方案。

我有我的网络应用程序文件http://localhost.com/exampleFolder/我已将 smoe rewriterule 更新到我的 .htaccess 文件中,如下所示

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-l [OR]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .?- [S=3]
    RewriteRule ^(.*)/(.*)/(.*)?(.*)$ index.php?aa=$1&bb=$2&cc=$3&%{QUERY_STRING} [L]
    RewriteRule ^(.*)/(.*)?(.*)$ index.php?aa=$1&bb=$2&%{QUERY_STRING} [L]
    RewriteRule ^(.*)?(.*)$ index.php?aa=$1&%{QUERY_STRING} [L]

我已将 html 中的基值更新为

<base href="//localhost/exampleFolder/" />

我将我的css链接为

<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

当我调试代码时,鼠标悬停在我得到的 href

localhost/exampleFolder/css/style.css

但是,CSS 根本没有加载。当我使用直接路径时,我得到了 index.php

我猜是因为我使用了重写规则。请帮助我,我花了数周时间来了解 htaccess。我确实发现了有关堆栈溢出的类似问题,但没有一个对我有帮助。

提前致谢

4

1 回答 1

0

在得到 Cyrillus 的帮助后,我找到了最好的

RewriteEngine On
RewriteRule \.(css|jpe?g|gif|png)$ - [L]

RewriteCond %{REQUEST_URI} !^/forum/
RewriteCond %{REQUEST_FILENAME} !-l [OR]
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .?- [S=3]
RewriteRule ^app/(.*)/(.*)/(.*)?(.*)$ index.php?aa=$1&bb=$2&cc=$3 [NE,L,QSA]
RewriteRule ^app/(.*)/(.*)?(.*)$ index.php?aa=$1&bb=$2 [NE,L,QSA]
RewriteRule ^app/(.*)?(.*)$ index.php?aa=$1 [NE,L,QSA]

最终输出:

url: example.com/app/question/100/relative-paths
PHP: example.com/index.php?aa=question&bb=100&cc=relative-paths

感谢 Cyrillus

于 2013-06-19T07:22:51.373 回答