Rad*_*top 4 .htaccess mod-rewrite
所以我把路径改写成:URL/really/nice/paths/使用这样的mod_rewrite规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
现在的问题是我怎么能改写为JS/CSS /图像的路径文件了,所以当被要求他们使用相对路径从URL/really/nice/path/从服务URL/scripts/,URL/styles/以及URL/images/文件夹呢?这可以不使用RewriteBase吗?
Wel*_*bog 11
重写URL时,客户端不知道它.因此,当客户在URL"example.com/some/url/"查看页面并且页面引用"images/image.jpg"中的图像时,客户端在"example.com/some/"中查找图像url/images/image.jpg"即使该页面实际上位于"example.com/some/other/url/"中.那是你面临的问题,对吗?
这个问题有三个主要的解决方案:
<base>标记确保客户端知道构建其相对URL的根与页面的明显URL不同.选项1可能是最好的想法,你会发现大多数使用URL重写的网站都使用它,包括Stack Overflow本身.选项2不赞成,但工作并且相对容易.选项3是最难维护的,因为URL重写异常和特殊情况可能会在您定义新规则时出现.
最易维护的解决方案是使用绝对URL.