2013-05-09 130 views
1

我願做四件事與Apache的mod_rewrite:搜索引擎友好,非www,隱藏的index.php URL

  1. 刪除WWW

    http://www.example.com/ >>> http://example.com/ 
    
  2. 刪除的index.php

    http://example.com/index.php >>> http://example.com/ 
    
  3. 重寫URI

    http://example.com/index.php?rewrite=request >>> http://example.com/request 
    
  4. 刪除最後一個斜線

    http://example.com/request/ >>> http://example.com/request 
    

我看過很多例子,但他們沒有工作正常。

編輯:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^example\.com 
RewriteRule (.*) http://example.com/$1 [R=301,L] 

RewriteRule ^([^/\.]+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 
RewriteRule ^([^/\.]+)$ index.php?rewrite=$1 [L] 
</IfModule> 

我使用這個權利,但還不夠。由於

+0

好,讓我們瞭解您已經嘗試,什麼沒有奏效。此外,你應該真的使用一個PHP路由器腳本進行網址重寫。它會讓你的apache配置變得簡單而乾淨,並且更易於維護。 – mpm 2013-05-09 11:17:01

回答

0
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^example\.com 
RewriteRule (.*)http://www.example.com/$1 [R=301,L] 


RewriteRule ^([^/\.]+)/$ http:// %{HTTP_HOST}/$1 [R=301,L] 
RewriteRule ^([^/\.]+)$ index.php?rewrite=$1 [L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ index\.php\ HTTP 
RewriteRule ^index\.php$ http:// www.example.com/ [R=301,L] 

與Apache的mod_rewrite: