2017-02-08 87 views
0

我被要求在已開發的ExpressionEngine網站上提供幫助。還有的是,重寫任何現有的.htaccess文件不是一個文件或目錄,使其通過的index.php雲:Apache rewrite/product/to/products /和index.php

RewriteEngine On 
RewriteBase/
# Not a file or directory (also catches index.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L] 

這工作得很好,並舉例URL可能是:

WWW .mysite.com /產品/富(複數「產品」)

然而,它還需要處理舊網址,這將是形式:

www.mysite.com/product/foo(單數'product')

我已經試過如下:

RewriteEngine On 
RewriteBase/
# Not a file or directory (also catches index.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^product/(.+) /index.php/products/$1 [L] 
RewriteRule ^(.*)$ /index.php?$1 [L] 

希望,如果它發現「產品」,然後將其重寫爲「產品」通過index.php文件,然後退出,但它不工作。

與此同時,我需要啓動任何輸入網址:

/部門/富 被改寫爲:

/部門/分類/富

greatefully收到任何幫助。

+0

保持平均每個職位的一個問題。 – anubhava

回答

1

您可以使用添加規則您現有的規則上面映射product -> products

RewriteEngine On 
RewriteBase/

RewriteRule ^product(/.*)?$ products$1 [L,NC] 

# Not a file or directory (also catches index.php) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?$1 [L]