2013-04-11 86 views
2

我想www.mysite.com/movie/name重定向到www.mysite.com/movie/?url=name 为了这个,我已经加入htaccess的在电影/文件夹中,我加入了代码如下:重定向Htaccess问题?

RewriteEngine On 
RewriteBase /movie/ 
RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+).html$ index.php?id=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?id=$1 

我无法重定向它,可​​能有人建议我的权利方法来完成这个?

+0

任何类型的错误,你正在或简单404:找不到......? – 2013-04-11 12:55:19

+1

你想重定向到'www.mysite.com/movie/?url = name'还是'www.mysite.com/movie/index.php?id = name'? – Oussama 2013-04-11 12:56:31

+0

来自@Yazmat的好问题。你的问题说了一件事,但你的规则显示了不同的东西。我根据这个问题回答。请解释。 – 2013-04-11 13:02:51

回答

0

只是一个小变化,它应该工作.. 尝试下面的代码,让我知道它是否为你工作或不..

RewriteEngine On 

RewriteRule ^([a-zA-Z0-9-/]+).html$ index.php?id=$1 
RewriteRule ^([a-zA-Z0-9-/]+).html/$ index.php?id=$1 

希望它可以帮助...

0

问题:

www.mysite.com/movie/name到www.mysite.com/movie/?url=name

也许问题是.htaccess文件不在根目录下。您可以改为试试这个:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/? [NC] 
RewriteRule .*  /%1/?url=%2 [L,NC] 

永久和可见的重定向,以取代[L,NC] [R = 301,L,NC]

这个回答假设moviename是动态的字符串。

0

首先,您只需要编写指令RewriteEngine On一次。

此外,取代过去的规则

RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1

故障是在最后一个反斜杠。