2013-01-19 95 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