我成功地将脏网址重写为干净网址,但这也破坏了我的图像和样式文件夹:(
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)$ /www/index.php?page=$1&cmd=$2 [L]
最佳答案
添加以下重写条件,以防止重写导致现有文件和目录的 URL,例如您的 JS、CSS 和图像文件。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)$ /www/index.php?page=$1&cmd=$2 [L]
如果您的图像仍然没有显示,可能是因为您包含了如下图像:<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" />
(域名后面的所有内容)。
这将迫使浏览器在正确的位置查找。 (假设你的目录结构是这样的。)
关于php - .htaccess RewriteEngine 破坏 CSS/图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6793690/