use*_*230 5 php apache mod-rewrite
我的mod_rewrite代码是:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)?$ index.php?url=$1 [L,NC]
Run Code Online (Sandbox Code Playgroud)
此结构放在我的服务器路径上 /beta
当我放置URL时,http://mydomain.com/beta/download
一切都可以重写到真实路径http://mydomain.com/beta/index.php?url=download
问题发生在相对路径上.当我输入URL时http://mydomain.com/beta/download/box
,重写转到http://mydomain.com/beta/index.php?url=download/box
...但....
我所有的相对路径,像我的css文件夹,我的js文件,图像文件....一切都在我的index.php页面崩溃的相对路径的辩论,因为我的相对路径变download/css
,download/js
,download/images
...等...
我知道这个问题是由于路径"download /"中的斜线而发生的,但我如何使用.htaccess中的mod_rewrite解决这个问题?
我可以阻止相对路径中的重写吗?甚至在我自己的域的内部路径?
如何在不改变绝对路径的相对路径的情况下解决这个问题?
谢谢
Jos*_*ndo 12
<base href="yoururl.com/beta/"; />
在HTML头部添加标签.如果您在该子文件夹中,还要将RewriteBase/beta /添加到htaccess