2013-01-19 94 views
-1

我不擅長.htaccess。我要重寫我的新聞和博客網址(帶或不帶WWW)爲:用rootdomain重寫子域名查詢字符串的規則

bdnews24.com/reporter.php?u=Name TO-> bdnews24.com/Name

m.bdnews24.com /reporter.php?u=Name TO-> m.bdnews24.com/Name

img.bdnews24.com/image.php?id=791011.jpg TO-> img.bdnews24.com/791011。 JPG

bdnews24.com/details.php?id=100200300 TO-> bdnews24.com/100200300

我目前的.htaccess文件在下面,這不是我想要的。 這捕獲所有請求的URI,如果不存在,會去到index.php U = ANYTHING

Options +FollowSymlinks 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
# AlegroCart REWRITES START 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*) index.php/$1 [L,QSA] 
+0

在添加.htaccess文件的詳細信息之後,您應該通過給出一個不起作用的示例URL,您期望重寫的URL以及錯誤地重寫爲的URL來澄清問題(或未能改寫)。這裏有幾條指向查詢字符串重寫的相關文章和指南的鏈接:http://stackoverflow.com/questions/14363132/mod-rewrite-rewrite-example-com-page-phpv1-abcv2-def-to-例如-COM-ABC-DEF/http://statichtml.com/2010/mod-rewrite-baseon-on-query-string.html –

+0

選項+了FollowSymLinks RewriteEngine敘述在 RewriteBase/ #AlegroCart重寫START 的RewriteCond%{REQUEST_FILENAME}!-f 的RewriteCond%{REQUEST_FILENAME}!-d 重寫規則^(。*)的index.php/$ 1 [L,QSA] – Fujael

回答

1

這套規則應該做你想要什麼,根據您所提供的信息:

RewriteCond {%QUERY_STRING} ^u=(.*) 
RewriteCond %{HTTP_HOST} ^(m.|www.)?bdnews.com$ 
RewriteRule ^reporter.php /%1? 

RewriteCond {%QUERY_STRING} ^id=(.*) 
RewriteCond %{HTTP_HOST} ^img.bdnews.com$ 
RewriteRule ^image.php /%1? 

RewriteCond {%QUERY_STRING} ^id=(.*) 
RewriteCond %{HTTP_HOST} ^(m.|www.)?bdnews.com$ 
RewriteRule ^details.php /%1? 

首先匹配查詢字符串和主機名,然後將原始查詢字符串(%1)重寫爲新的URL。

+0

感謝大衛響應。繼續。 – Fujael