.htaccess 使用htaccess重写mod

.htaccess 使用htaccess重写mod,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我正试图用mod rewrite编写一个htaccess文件,但运气不好 原始url是 http://www.bpages.com/beta/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=1770&sobi2Id=94872&Itemid= 我想新的网址应该是 http://www.bpages.com/beta/abc/xyz catid=1770指的是abc, sobi2Id=94872指的

我正试图用mod rewrite编写一个htaccess文件,但运气不好

原始url是

http://www.bpages.com/beta/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=1770&sobi2Id=94872&Itemid=
我想新的网址应该是

http://www.bpages.com/beta/abc/xyz
catid=1770
指的是
abc
sobi2Id=94872
指的是
xyz
beta
是一个子目录

有可能吗?请建议最好的方法

提前感谢,


Prithvi

以下内容应该可以满足您的要求,尽管我还没有测试过。也。。。Itemid部分为空。那只是个错误,还是应该是空的

<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On

RewriteRule ^beta/([^/]+)/(.+)$ beta/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=$1&sobi2Id=$2&Itemid= [NC]
</IfModule>

选项+FollowSymlinks
重新启动发动机
重写规则^beta/([^/]+)/(.+)$beta/index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=$1&sobi2Id=$2&Itemid=[NC]

如果我正确理解了你的问题,那么这些规则应该有效:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} catid=([^&]+)&sobi2Id=([^&]+)& [NC] 
RewriteRule ^(beta/.*)$ /$1/%1/%2? [L,R,NC]

映射catid->abz和sobi2Id->xyz是如何定义的?Eduardo有一个很好的观点,在你的URL中没有任何地方引用“abc”和“xyz”的映射。