我的网站目录包含2个文件夹:website1
和website2
所以要访问它们:
http://www.example.com/website1
http://www.example.com/website2
我想通过以下网址访问它们:
网站1:http://www.example.com
website2:http://www.example.com/website2
所以我写了这个.htaccess
文件:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)$ website1/$1 [L]
这适用于website1
,但是如果我想访问website2
它不起作用(因为它重定向到http://www.example.com/website1/website2
我认为)
如果仅在网址为http://www.example.com
时才能将此文件编写为重定向?
答案 0 :(得分:1)
您可以:
在.htaccess
中创建另一个/website2
并禁用重写引擎:
RewriteEngine Off
这将阻止父.htaccess
中的mod_rewrite指令运行,因此不会重写请求。
或者,
修改文档根目录.htaccess
中现有的mod_rewrite伪指令,以排除对/website2
子目录的请求。例如:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/website2
RewriteRule (.*) website1/$1 [L]
CondPattern 上的!
前缀使正则表达式无效,因此仅当REQUEST_URI
并非以/website2
开头时,它才成功。
您还可以将其合并为一个指令,效率稍高:
RewriteRule !^website2 website1%{REQUEST_URI} [L]
请注意,REQUEST_URI
服务器变量已经包含斜杠前缀,因此不得在RewriteRule
substitution 中重复。。
答案 1 :(得分:0)
我认为你不需要htaccess。将您的website1文件放在主根目录中。创建一个新文件夹并将其命名为website2。将website2文件放在这个新文件夹中。我想这就是你想要的。