如何使用 .htaccess 隐藏 url 的实际路径?

如何使用 .htaccess 隐藏 url 的实际路径?

我的域名mainsite.com实际指向/public_html/

但我想将它指向类似的子站点/public_html/subsite

所以我尝试了这个:

RewriteCond %{HTTP_HOST} ^(www\.)?mainsite\.com$ [NC]
RewriteRule !^(subsite) /subsite%{REQUEST_URI} [L,NC]

它运行良好。

/public_html/subsite现在第二个是我有许多类似的子站点/子文件夹/public_html/subsite/(site1 or others...)

但是当我输入时mainsite.com/(site1 or others...),它会显示这个mainsite.com/subsite/(site1 or others...)我不想要的 url。

我只想/subsite/在用户浏览时隐藏 url。

答案1

阅读有关设置别名的信息:

https://httpd.apache.org/docs/current/mod/mod_alias.html

别名指令允许将文档存储在除 DocumentRoot 之外的本地文件系统中。带有以 URL-path 开头的 (%-decoded) 路径的 URL 将映射到以 directory-path 开头的本地文件。URL-path 区分大小写,即使在不区分大小写的文件系统上也是如此。

Alias "/image" "/ftp/pub/image" 

请求 http://example.com/image/foo.gif将导致服务器返回文件/ftp/pub/图片/foo.gif。仅匹配完整路径段,因此上述别名不会匹配 http://example.com/imagefoo.gif。有关使用正则表达式的更复杂匹配,请参阅别名匹配指示。

相关内容