0

我遇到了这个问题,我一直很累(甚至删除了 htaccess),但我还没有找到解决方案。

我公司的一个客户有一个我没有做的应用程序....但我注意到有一个 HTACCESS(我以前也遇到过),它似乎有一些重写规则。我不熟悉 HTaccess 的东西,我对这种文件中发生的事情一无所知。

页面看起来像这样 图像和脚本未加载

htaccess 文件包含以下内容:

Options All -Indexes
Options +FollowSymLinks
RewriteEngine on
#4 variables
Rewriterule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ $1.php?$2=$3&$4=$5&$6=$7&$8=$9
#3 variables
Rewriterule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ $1.php?$2=$3&$4=$5&$6=$7
#2 variables
Rewriterule ^(.*)/(.*)/(.*)/(.*)/(.*)/$ $1.php?$2=$3&$4=$5
#1 variable
Rewriterule ^(.*)/(.*)/(.*)/$ $1.php?$2=$3

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php
AddType application/x-httpd-php .html
AddType application/x-httpd-php .htm

你知道这是否是HTACCESS FAULT吗?如果我删除 HTACCESS,我会收到 500 Internal Server Error

4

1 回答 1

1

这听起来像是一个相对/绝对的 URI 问题。图像/脚本/css 可能使用相对 URI 链接,当你有这样的结构时它会被破坏: (.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/,而当你访问这样的页面时它可以正常工作: /$1.php?something

因此,您要么需要更改所有链接,使其成为绝对 URL(以 a 开头/),要么在所有页面的标题处创建相对 URI 基础:

<base href="/">
于 2013-08-20T22:30:24.797 回答