Php 使用.htaccess时出现HTML href url错误

Php 使用.htaccess时出现HTML href url错误,php,html,apache,.htaccess,Php,Html,Apache,.htaccess,我的根目录中有一个.htaccess文件。是这样的: RewriteEngine On RewriteRule ^(.+) index.php?url=$1 [QSA,L] 在index.php文件中,我尝试执行以下操作: <img src="myimage.png"/> 但是,图像没有加载。当我删除.htaccess文件并刷新页面时,图像会返回 那么这里的问题是什么呢?图像也与表达式匹配,因此它也被重定向到index.php。您可以尝试通过对扩展使用重写条件来排除图像 Re

我的根目录中有一个.htaccess文件。是这样的:

RewriteEngine On
RewriteRule ^(.+) index.php?url=$1 [QSA,L]
在index.php文件中,我尝试执行以下操作:

<img src="myimage.png"/>

但是,图像没有加载。当我删除.htaccess文件并刷新页面时,图像会返回


那么这里的问题是什么呢?

图像也与表达式匹配,因此它也被重定向到index.php。您可以尝试通过对扩展使用重写条件来排除图像

RewriteCond %{REQUEST_URI} !\.(gif¦jpe?g¦png¦css¦js¦doc¦mp3¦pdf¦xls)$
另一个选项是使用排除存在的文件的条件

RewriteCond %{REQUEST_FILENAME} !-f 
和存在的目录

RewriteCond %{REQUEST_FILENAME} !-d

您尝试的URL是什么?您的问题是
myimage.png
^(+)
匹配,因此应用了该规则。您的index.php文件是否在请求时为图像文件提供服务?谢谢,正如我所预期的那样工作良好。但还有一个问题。我的网站的目录是“localhost/site/”,如果我使用浏览器访问“local/site”,没问题。但是如果我尝试使用“localhost/site/a/”,那么它将无法工作。