我正在创建一个标准的重写.htaccess
来做到这一点
http://www.myurl.com/post/{id}/
RewriteRule ^post/([0-9]+)/?$ post.php?id=$1 [NC,L]
现在,它可以完美运行,但所有其他外部 URL(例如 CSS 和 JavaScript)都无法正常工作。有没有办法防止它而不必更改所有的网址?我在谷歌上搜索没有成功,有什么想法吗?
我正在创建一个标准的重写.htaccess
来做到这一点
http://www.myurl.com/post/{id}/
RewriteRule ^post/([0-9]+)/?$ post.php?id=$1 [NC,L]
现在,它可以完美运行,但所有其他外部 URL(例如 CSS 和 JavaScript)都无法正常工作。有没有办法防止它而不必更改所有的网址?我在谷歌上搜索没有成功,有什么想法吗?
只需从您的状况中排除物理文件
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^post/([0-9]+)/?$ post.php?id=$1 [NC,L]
您将需要一个附加规则来修复 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://
以斜杠或斜杠开头/