2017-03-01 52 views
0

我現在有這在我的WordPress htaccess文件:如何針對所有的.html URLS除了index.html的htaccess的

<IfModule mod_rewrite.c> 
 
     RewriteEngine On 
 
     RewriteBase/
 
     RewriteRule ^index\.html?$/[NC,R,L] 
 
     RewriteEngine On 
 
     RewriteBase/
 
     RewriteRule ^index\.php$ - [L] 
 
     RewriteCond %{REQUEST_FILENAME} !-f 
 
     RewriteCond %{REQUEST_FILENAME} !-d 
 
     RewriteRule . /index.php [L] 
 
    </IfModule> 
 

 
    #RedirectMatch 301 (.*)\.html$ $1/

我想重定向所有.HTML只是在沒有任何文件擴展名的網址,即www.example.com/about.html到www.example.com/about/。

代碼工作得很好,在/index.html重定向到/

上面的註釋代碼(RedirectMatch 301 (.*)\.html$ $1/)應重定向的.html工作的漂亮的URL,但它也做了index.html的地方,而不是將其重定向到/它將其重定向到/ index

有沒有一種方法可以讓我壓縮我的代碼並執行我正在嘗試執行的操作?

回答

0

有這樣的:

RewriteEngine On 
RewriteBase/

RewriteRule ^index\.html?$/[NC,R,L] 

# redirect every .html except index.html 
RewriteRule ^(?!index\.html$)(.+)\.html?$ /$1 [NC,R,L] 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
相關問題