用户在浏览器中键入以下内容,这仍然是浏览器中的URL: xyz.com/info/productname /
内部会变成: xyz.com/info/index.php?product=productname
以下内容:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www\.)?xyz\.com$ [NC]
RewriteRule ^info/([^/]+)/?$ /info/index.php?product=$1 [L,NC,QSA]
非常接近。不幸的是,问题似乎是使用xyz.com/info/productname /
时相对文件链接不起作用看到之间的区别:
http://xyz.com/info/swoosh 和 http://xyz.com/info/swoosh/
第二个不起作用,因为相对链接已被破坏。
答案 0 :(得分:1)
修改后的规则:
# fix relative links of css, js, images
RewriteRule ^info/(.+?\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [L,NC,R=302]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www\.)?xyz\.com$ [NC]
RewriteRule ^info/([^/.]+)/?$ /info/index.php?product=$1 [L,NC,QSA]