删除URL中的子文件夹

时间:2018-07-21 09:31:41

标签: .htaccess url-rewriting

我在重写URL时遇到麻烦。我希望它将“ domain.com/folder1/page1”重写为“ domain.com/page1”。我的代码正常运行,但是当我尝试访问folder2时,它会自动重写为“ domain.com/folder1/folder2/page2”。我希望它保持在“ domain.com/folder2/page2”。我需要重写的唯一文件夹是folder1。我现在有这个当前代码。我不知道该怎么办

#for removing extension
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#Removing subfolders
RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$
RewriteRule ^apt/(.*) /$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com$
RewriteRule !^folder1/ folder1%{REQUEST_URI} [L]

能帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用此代替:

RewriteEngine On
RewriteRule ^folder1/(.*) /$1 [L,R=301]

这应该从所有URL中删除folder1。在测试之前,请确保在 之前清除缓存。