2015-05-21 211 views
1

我想從下面的url中刪除seo /文件夾名稱和文件擴展名(.html)。我正在一個靜態html網站上工作。使用htaccess從url中刪除子文件夾名稱和文件擴展名

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

在我文件夾的.htaccess我寫了這個,

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

在我我寫這個的的.htaccess,

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

我使用Google搜索並嘗試了所有可能的方式,但無法找到解決方案。請幫幫我。

回答

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] 
+0

它不工作.. .css被完全刪除,甚至在URL「seo」不會被刪除... – meelee

+0

查看更新的答案。你必須輸入'http:// domain.com/file',它會加載'http:// domain.com/seo/file.html'。 – anubhava

+0

非常感謝。這真的很好。但即使我們輸入http://www.domain.com/seo/file.html,它也應該加載www.domain.com/file/。我們可以改變嗎? – meelee

0

試試這個

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

感謝Ranjith的回覆... – meelee