url重定向工作不正确使用PHP中的.htacess

时间:2017-10-12 12:33:58

标签: php apache .htaccess redirect mod-rewrite

我有一个子域api.example.com。

我的代码在/var/www/html/文件夹中。

我的所有子域都重定向到/var/www/html文件夹。

我使用api.example.com重定向/var/www/html/api文件夹。使用.htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REQUEST_URI} [L,NC]

但问题是,它也会更改我的网址,api.example.com/api我不想更改我的网址。

当我在浏览器标签页中输入api.example.com并按回车键时,它会更改为api.example.com/api,并且index文件已打开api folder,但我不会这样做。我想更改我的URL,它将打开api文件夹的索引文件。

1 个答案:

答案 0 :(得分:0)

将其更改为此

RewriteEngine On

RewriteCond %{HTTP_HOST} ^api\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/?api(/.*)?$ [NC]
RewriteRule ^/?(.*)/?$ /api/$1 [L,NC]

注意

在测试之前删除浏览器缓存。如果这仍然不是你想要的,那么你还有其他一些规则。