我在A2Hosting上有一个共享主机,我最近将我的主域名从public_html/
移到public_html/subdir/
这是结构:
/public_html
/subdir(site files of main domain)
/api
index.php
我目前的htaccess(public_html)是:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.
RewriteRule ^(.*)$ /subdir/$1 [L]
我之前打电话给我的APi:domain.com/api/
但现在它:domain.com/subdir/api/
我在api
中的htaccess是:
RewriteEngine On
RewriteBase /api/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
如何删除" subdir"在网址上像以前一样保持我的api?但仍然用我当前的htaccess指向我的子目录?
由于
答案 0 :(得分:3)
一种方法是从根目录中的主.htaccess文件重写/api
,如下所示:
RewriteEngine On
RewriteBase /
RewriteRule ^api/(.*)$ ../subdir/api/$1 [R,L,QSA]
新/ subdir / api文件夹中的.htaccess文件可以保持原样。只需要调整RewriteBase。
另一种方法是,如果由于某种原因保留它,则从之前的/api
文件夹重写:
RewriteEngine On
RewriteBase /api
RewriteRule ^(.*)$ ../subdir/api/$1 [L]