.htaccess RewriteEngine打破了CSS/Images

Jen*_*PHP 2 php .htaccess rewrite

我成功地能够重写我的脏网址来清理网址,但这也破坏了我的图像和样式文件夹:(

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /www/index.php?page=$1&cmd=$2 [L]
Run Code Online (Sandbox Code Playgroud)

mid*_*dus 5

添加以下重写条件以防止重写导致现有文件和目录的URL,例如JS,CSS和图像文件.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ /www/index.php?page=$1&cmd=$2 [L]
Run Code Online (Sandbox Code Playgroud)

如果您的图像仍未显示,可能是因为您包含的图像如下:<img src="./img/myimage.png" />.如果您现在指向浏览器http://site.com/page/hello/,您的浏览器将在此处查找图像:http://site.com/page/hello/img/myimage.png.但是,图像实际上在这里:http://site.com/img/myimage.png.

所以你必须包括这样的图像:( <img src="/img/myimage.png" />域名之后的所有内容).这将迫使浏览器看到正确的位置.(假设你的目录结构是这样的.)