2012-05-20 129 views
0

我有以下問題:重寫動態URL

http://www.mydomain.com/articles.php?artid=89

應該變成:http://www.mydomain.com/mykeyword

我不介意的ID留在網址...這樣的:http://www.mydomain.com/89/mykeyword

我對當下以下的.htaccess:

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(mydomain\.com)$ [NC] 
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+news\.php [NC] 
RewriteRule^mykeyword [R=301,L] 

RewriteRule ^mykeyword/?$ news.php [L,NC] 

上面的部分就像一個魅力。

任何幫助將深表謝意。

問候,卓然

回答

0

在你的.htaccess的底部附加這些規則:

RewriteEngine On 
RewriteBase /turkexpo/ 

RewriteCond %{HTTP_HOST} ^(webone\.gr)$ [NC] 
RewriteRule ^(.*)$ http://www.%1/turkexpo/$1 [R=302,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/news\.php [NC] 
RewriteRule^mykeyword [R=302,L] 

RewriteRule ^mykeyword/?$ news.php [L,NC] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/articles\.php\?artid=([0-9]+) [NC] 
RewriteRule^%1/mykeyword? [R=302,L] 

RewriteRule ^([0-9]+)/mykeyword/?$ articles.php?artid=$1 [L,NC,QSA] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+turkexpo/companies\.php\?fairid=([0-9]+)&ehallid=([0-9]+) [NC] 
RewriteRule^companies/%1/%2? [R=302,L] 

RewriteRule ^companies/([0-9]+)/([0-9]+)/?$ companies.php?fairid=$1&ehallid=$2 [L,NC,QSA] 

這將轉發的/89/mykeyword一個URI來/articles.php?artid=89和外部重定向它的對面。

確定它正在工作後,將R=302更改爲R=301

+0

Temporaray,this site is under:www.mydomain.com/somefolder由於規則RewriteCond%{HTTP_HOST} ^(mydomain \ .com)$ [NC] RewriteRule ^(。*)$ http:// www 。%1/$ 1 [R = 301,L]我看不到變化。我應該如何修改這兩條規則才能看到實際的變化? – Zoran

+0

我認爲RewriteCond%{HTTP_HOST} ^(mydomain \ .com)$ [NC]應該是類似於RewriteCond%{HTTP_HOST} ^(mydomain \ .com \ somefolder)$ [NC]我嘗試過但它沒有工作 – Zoran

+0

任何我們可以在Skype上遇見對方的機會,所以你可以很容易地看到我的問題?或者它違反現場監管? – Zoran