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

时间:2015-05-21 06:56:55

标签: regex apache .htaccess mod-rewrite redirect

我想从下面的网址中删除seo /文件夹名称和文件扩展名(.html)。我正在开发一个静态html网站。

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

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

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

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

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

我用Google搜索并尝试了所有可能的方法,但无法找到解决方案。请帮帮我。

2 个答案:

答案 0 :(得分:0)

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

RewriteEngine On

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

/seo/的.htaccess中,请使用:

RewriteEngine On
RewriteBase /seo/

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

答案 1 :(得分:0)

试试这个

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