Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 如何使用htaccess从URL中删除子目录名?_.htaccess - Fatal编程技术网

.htaccess 如何使用htaccess从URL中删除子目录名?

.htaccess 如何使用htaccess从URL中删除子目录名?,.htaccess,.htaccess,我的网址是 但我必须将它重定向到子文件夹,URL为 我已经在htaccess中将其重定向为 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?demo.example.com/parentFolder$ RewriteCond %{REQUEST_URI} !^/ChildFolder/ RewriteCond %{RE

我的网址是

但我必须将它重定向到子文件夹,URL为

我已经在htaccess中将其重定向为

<IfModule mod_rewrite.c>

       RewriteEngine On
       RewriteCond %{HTTP_HOST} ^(www.)?demo.example.com/parentFolder$
       RewriteCond %{REQUEST_URI} !^/ChildFolder/


       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d

       RewriteRule ^(.*)$ /ChildFolder/$1

       #RewriteCond %{HTTP_HOST} ^(www.)?demo.example.com/parentFolder$
       RewriteRule ^(/)?$ ChildFolder/ [L]

</IfModule>

重新启动发动机
重写cond%{HTTP_HOST}^(www.)?demo.example.com/parentFolder$
重写cond%{REQUEST_URI}^/子文件夹/
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$/ChildFolder/$1
#重写cond%{HTTP_HOST}^(www.)?demo.example.com/parentFolder$
重写规则^(/)?$ChildFolder/[L]
但未从URL中删除子文件夹(子文件夹)。
我想在重定向后访问childFolder,但想从URL中隐藏childFolder。

您可以在parentFolder/.htaccess中使用这些规则:

RewriteEngine On

# remove ChildFolder from URL show in browser
RewriteCond %{THE_REQUEST} \s/+(parentFolder)/ChildFolder/(\S*)\s [NC]
RewriteRule ^ /%1/%2 [R=301,NE,L]

# add ChildFolder internally

RewriteRule ^$ ChildFolder/ [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?!ChildFolder/).*$ ChildFolder/$0 [L,NC]

你将访问哪个url?你希望发生什么?@starkeen我想访问childFolder,还想从url
RewriteCond%{HTTP_HOST}^(www.)中隐藏childFolder?demo.example.com/parentFolder$
将永远不会匹配,因为
HTTP\u主机
表示
您的域名
不是路径,而是路径redirecting@starkeen你有什么建议吗?我已经把它应用得很好了,但是当我把它应用到angular项目中时,我还面临一个问题,我必须更改index.html的基本路径,当我更改基本路径时,它不会得到JS文件等,除了静态地写入路径之外,我应该为它做些什么。提前谢谢:)不幸的是,我对AngularJS一无所知。可能是,您需要在页面HTML的
部分下方添加
来解析
js/css/images
路径。如果我添加路径,则会显示URL中的子文件夹路径。我无法在此处共享真实URL。这是机密信息。虽然URL类似于demo.example.com/ParentFolder/ChildrenFolder/。谢谢,伙计,现在工作正常了,我只是从基本路径中删除了子文件夹名。