Html url重写以隐藏目录
我的网站目录包含两个文件夹:Html url重写以隐藏目录,html,.htaccess,mod-rewrite,url-rewriting,Html,.htaccess,Mod Rewrite,Url Rewriting,我的网站目录包含两个文件夹:website1和website2 因此,要访问它们: http://www.example.com/website1 http://www.example.com/website2 我想通过以下URL访问它们: 网站1:http://www.example.com 网站2:http://www.example.com/website2 所以我写了这个.htaccess文件: Options +FollowSymLinks RewriteEngine On R
website1
和website2
因此,要访问它们:
http://www.example.com/website1
http://www.example.com/website2
- 网站1:
http://www.example.com
- 网站2:
http://www.example.com/website2
.htaccess
文件:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ website1/$1 [L]
这对website1
很有效,但是如果我想访问website2
它就不起作用(因为它重定向到http://www.example.com/website1/website2
我想)
如何在URL为
http://www.example.com
?我想你不需要htaccess。将website1文件放在主根目录中。创建一个新文件夹并将其命名为website2。将website2文件放在此新文件夹中。我想这就是你想要的。你可以:
- 在
中创建另一个/website2
,并禁用重写引擎:.htaccess
这将阻止父RewriteEngine Off
中的mod_rewrite指令运行,因此不会重写请求.htaccess
- 修改文档根目录中
文件中的现有mod_rewrite指令,以排除对.htaccess
子目录的请求。例如:/website2
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} !^/website2 RewriteRule (.*) website1/$1 [L]
前缀否定正则表达式,因此只有当
不是以请求URI
开头时,它才会成功 您还可以将其合并到一个单独的指令中,这稍微更有效:/website2
请注意,RewriteRule !^website2 website1%{REQUEST_URI} [L]
服务器变量已经包含斜杠前缀,因此在REQUEST\u URI
替换中不能重复该前缀重写规则