2012-09-06 21 views
1

頁是目前可在下列地址mod_rewrite的增加中間層目錄

http://www.domain.co.uk/solutions/page-name1 
http://www.domain.co.uk/solutions/page-name2 
http://www.domain.co.uk/solutions/page-name3 

所以,我想我想在站點根目錄的.htaccess文件中使用mod_rewrite,在每個傳入頁面請求的解決方案目錄後添加'article'目錄。我一直在尋找一個合適的答案約一個月,我試着學習mod_rewrite基礎教程,但我不能讓這個工作對我很抱歉,因爲另一個mod_rewrite問題。

這是我目前的.htaccess文件:

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # Removes index.php 
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /index.php/$1 [L] 

    # If 404s, "No Input File" or every URL returns the same thing 
    # make it /index.php?/$1 above (add the question mark)  
</IfModule> 
+0

對於搜索引擎優化真的沒有錯//solutions/article/page-name3和一個人可以很容易地排序你的SEO網址10倍以上的URL像/?article_id = 9566非常好的頁面內容+頁面標題+良好的反向鏈接。 –

+0

謝謝,但我知道這一點。這些網頁已經存在,並且在網上直播。一個新的網站(在一個新的平臺上)是由一個網絡開發者創建的,我正在嘗試糾正這個網址,這樣當它被投入使用時,我們不必實施過多的301重定向,這通常會對搜索引擎優化產生影響。 – oliver

回答

0

編輯:

試試這個:

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{REQUEST_URI} !^solutions/article/ 
RewriteRule ^solutions/(.*)$ /solutions/article/$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !\.(gif|jpe?g|png)$ [NC] 
RewriteRule ^(.*)$ /index.php/$1 [L] 
</IfModule> 
+0

感謝您的回覆。我將它添加到我的mod_rewrite代碼中,但它似乎沒有任何影響。 – oliver

+0

你能解釋更多你試過的網址嗎? – Oussama

+0

錯過'RewriteEngine On'也許? – AllInOne

1

我做對我的網站類似的東西。下面是我使用刪除index.php文件並顯示縮短的URL中的.htaccess規則:

RewriteEngine On 

# Removes index.php 
RewriteCond $1 !\.(css|js|gif|jpe?g|png|ico) [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php/$1 

RewriteCond %{REQUEST_URI} ^/solutions/(.*) [NC] 
RewriteRule ^(.*) /solutions/article/%1 [L] 

請記住,您在瀏覽器的地址欄中顯示的網址是不是ExpressionEngine看到URL - EE看到{segment_2 }作爲「文章」。