我想使用这样的扁平链接:
http://somedomain.com/about-us
http://somedomain.com/products-list
http://somedomain.com/product/item
因此我使用了这样的mod_rewrite规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z-]+)?$ /index.php?page=$1 [L]
RewriteRule ^([0-9A-Za-z-]+)/([0-9A-Za-z-]+)?$ /index.php?page=$1&value=$2 [L]
</IfModule>
前两个链接工作正常。但每当我访问第三类链接时,图像或css或任何js脚本链接为相对路径,例如。 <img src="images/image.jpg">
和<a href="about-us">About Us</a>
。
浏览器认为它位于http://somedomain.com/product/images/image.jpg
和http://somedomain.com/product/about-us
。
正确的路径应为http://somedomain.com/images/image.jpg
和http://somedomain.com/about-us
因此具有相对链接的文件无效。
如何解决此问题?我不想为所有链接文件使用完整路径而不是相对路径。请通过在 .htaccess
中进行一些调整来建议一种方法答案 0 :(得分:0)
尝试逃避斜线:
RewriteRule ^([0-9A-Za-z-]+)\/([0-9A-Za-z-]+)?$ /index.php?page=$1&value=$2 [L]