Regex 使用htaccess从url中删除子文件夹名称和文件扩展名

Regex 使用htaccess从url中删除子文件夹名称和文件扩展名,regex,apache,.htaccess,mod-rewrite,redirect,Regex,Apache,.htaccess,Mod Rewrite,Redirect,我想从下面的url中删除seo/文件夹名称和文件扩展名.html。我正在一个静态html网站上工作 www.example.com/seo/advanced-system.html至www.example.com/advanced-system/ 在我的根文件夹的.htaccess中,我写了这个 RewriteCond %{HTTP_HOST} ^www.example.com RewriteRule ^seo/(.*)$ www.example.com/$1 [L,R=301] Rewrit

我想从下面的url中删除seo/文件夹名称和文件扩展名.html。我正在一个静态html网站上工作

www.example.com/seo/advanced-system.html至www.example.com/advanced-system/


在我的根文件夹的.htaccess中,我写了这个

RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^seo/(.*)$ www.example.com/$1 [L,R=301]
RewriteRule ^(.*)$ /$1 [R=301,L]
在我的子文件夹的.htaccess中,我写了这个

RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule ^seo/(.*)$ www.example.com/$1 [L,R=301]
RewriteRule ^(.*)$ /$1 [R=301,L]

我在谷歌上搜索并尝试了所有可能的方法,但没有找到解决办法。请帮助我。

在.htaccess我的根文件夹中,使用此

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^((?!seo/).*)$ seo/$1 [L,NC]
在.htaccess/seo/中,使用以下命令:

RewriteEngine On
RewriteBase /seo/

RewriteCond %{DOCUMENT_ROOT}/seo/$1\.html -f [NC]
RewriteRule ^(.+?)/?$ $1.html [L]
试试这个

        RewriteEngine On 
        RewriteRule ^$ seo/ 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteRule ^(.*)$ seo/$1

它不起作用。。。css被完全删除,甚至在url seo中也没有删除…请参阅更新的答案。你必须进去http://domain.com/file 它将加载http://domain.com/seo/file.html.Thanks 很多这真的很有效。但即使我们输入,它也应该加载www.domain.com/file/。我们可以这样改变吗?谢谢阿努巴瓦。。。这个解决方案不起作用。上一次编辑对我来说很好,而且我在我的链接中做了更改,使其正常工作。你能把它编辑一下吗?这样我就可以标出答案了?