繁体   English   中英

htaccess从网址隐藏子目录

[英]htaccess hide subdirectory from url

我想从网址中删除/隐藏子目录“站点”

/profile
  /sites
    login.php
    register.php 
index.php
.htaccess

这: http:// localhost / profile / sites / login

到此http:// localhost / profile / login

目前我正在使用它来隐藏.php扩展名

htaccess:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=301,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/profile/$1.php -f
RewriteRule ^(.+?)/?$ /profile/$1.php [L]

根据您对问题的评论,您可以简单地将login.php从基本目录添加到/sites/login.php。 这将使该文件像基本目录中的文件一样运行。 另请参见诸如include_once(),require(),require_once()之类的选项。

我建议您使用require_once(),而不需要修改.htaccess文件。

require_once('../login.php');

更新:根据您对此答案的评论,请在.htaccess文件中尝试此操作

Options +FollowSymLinks
RewriteEngine On
RewriteRule ^sites/(.*)$ http://www.yoursite.com/$1 [R=301,L]

请参阅此链接以供参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM