我的代码如下:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} (mozilla|navigator|chrome) [NC]
RewriteRule ^newfolder/(.*)$ /index.html [L,NC]
问题是因为它将所有内容重写为index.html - 这意味着图片和外部JavaScript将不会被看到(加载)...它只重写index.html(文本)但其他东西来自索引而不是(图片,外部JavaScript)。 [L,NC,R]工作,但[L,NC]不工作,我不希望访客看到那是其他页面。 我想向访问者展示完整的index.html及其所有内容 - 但它没有显示图片,外部JavaScript。
答案 0 :(得分:0)
您需要2 RewriteCond
行才能从此重写中排除文件和目录:
# fixed css/js/images
RewriteRule ^newfolder/((?!index).+?\.(?:jpe?g|gif|bmp|png|tiff|css|js|html?))$ /$1 [L,R=301,NC]
RewriteCond %{HTTP_USER_AGENT} (mozilla|navigator|chrome) [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^newfolder/(.*)$ /index.html [L,NC]