2014-01-10 54 views
0

我是htaccess文件的新成員,它具有以下要求。在htaccess文件中獲取SEO友好代碼

我有處理類似這樣的

com/index.php?postname=products 
    .com/index.php?cat=news&country=india 

這些頁面動態頁面我想SEO友好的URL這樣

 .com/products/  to  .com/index.php?postname=products 
     .com/news/country to .com/index.php?cat=news&country=india 

什麼代碼,我需要把它放在htaccess的文件?

我是否需要編寫RewriteCond或RewriteRule或兩者?

如果可能請給我示例代碼來做到這一點。

回答

1
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ /index.php?postname=$1 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?cat=$1&country=$2 [L] 
+0

我認爲你有一個錯字'phjp'? – woolstar

1

這裏是htaccess代碼,可以幫助你

保存行的.htaccess在你的index.php文件夾或根文件夾。

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteRule ^([A-Za-z0-9_\-]+)$ index.php?postname=$1 [L] 
RewriteRule ^([A-Za-z0-9_\-]+)/([A-Za-z0-9_\-]+)$ index.php?cat=$1&country=$2 [L] 

</IfModule> 

<IfModule mod_security.c> 
    SecFilterEngine Off 
    SecFilterScanPOST Off 
</IfModule> 

<IfModule mod_gzip.c> 
mod_gzip_on No 
</IfModule> 

它適用於我。

1

試試這個例子爲你的工作。

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{QUERY_STRING} ^postname=(.*)$ 
RewriteRule ^index\.php$ /postname/%1? [R=301] 
RewriteRule ^postname/([^-]+)$ /postname.php?id=$1 [L] 

上面的代碼會重定向

index.php?postname=products 

index/products