2011-11-20 93 views
4

我一直在试图使用的.htaccess来重定向以下URL找到一个解决办法:htaccess的重定向

mydomain.com/my-short-list/1AXC7682 or mydomain.com/my-short-list/1AXC7682/ 

到:

mydomain.com/my-short-list/?u=1AXC7682 

from:

mydomain.com/user-reviews/42 or mydomain.com/user-reviews/42/ 

到:

mydomain.com/user-reviews/?urid=42 

最后:

来自:

mydomain.com/videos/1055687406001/130433/bmw-i8-concept-sports-car-in-detail or 
mydomain.com/videos/1055687406001/130433/bmw-i8-concept-sports-car-in-detail/ 

到:

mydomain.com/videos/?vid=1055687406001&pid=130433&url=bmw-i8-concept-sports-car-in-detail 

谢谢!

+1

那你试试? – jman

回答

0

尝试这样:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^my-short-list/ my-short-list/?u= [NC,L] 
RewriteRule ^user-reviews/ user-reviews/?urid= [NC,L] 
RewriteRule ^videos/([0-9]+)/([0-9]+)/(.*)$ videos/?vid=$1&pid=$2&url=$3 [NC,L] 
+0

对不起的人,我应该更具体: 我在我的博客使用WordPress,以及.htaccess中的当前设置为:# BEGIN WordPress的 RewriteEngine叙述在 RewriteBase/ 重写规则^指数\ .php $ - [L] RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 /index.php [L] #结束WordPress 我试过使用你和书宙斯解决方案,但不幸的是,它仍然不工作... –

5

更新你的.htaccess使用此代码:

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteRule ^my\-short\-list/([0-9]{1}[a-z0-9]{7})/?$ /my-short-list/?u=$1 [NC,L] 
RewriteRule ^user\-reviews/([0-9]+)/?$ /user-reviews/?urid=$1 [NC,L] 
RewriteRule ^videos/([0-9]+)/([0-9]+)/([a-z0-9\-]+) /videos/?vid=$1&pid=$2&url=$3 [NC,L] 

#wp default 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

</IfModule> 
+0

谢谢你的回复,但不幸的是,它仍然不工作,请参阅汤姆Knapen职位的评论。 –

+0

我看到,是的wordpress代码将不同于在.htaccess文件中使用此代码本身 –

+0

这些重定向规则正在推动我疯狂的人......您的解决方案对我来说很有意义,但它仍然没有工作! –