我正在使用 .htaccess
创建标准重写来执行此操作
http://www.myurl.com/post/{id}/
RewriteRule ^post/([0-9]+)/?$ post.php?id=$1 [NC,L]
现在,它可以正常工作,但所有其他外部 URL(例如 CSS 和 JavaScript)都无法正常工作。 有没有办法在不必更改所有 url 的情况下防止它?我在 Google 上搜索没有成功,有什么想法吗?
最佳答案
您将需要一个额外的规则来修复 css、js、图像链接:
# your rewrite rule
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post/([0-9]+)/?$ post.php?id=$1 [QSA,NC,L]
# fix css, js, image links
RewriteRule ^post/(.+?\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [NC,L]
或者,确保在您的 css、js、图像文件中只使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以 http://
或斜杠 /
关于php - 防止 CSS URL 被 htaccess 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19913132/