.htaccess多个页面的重写规则
问题描述:
我已经在我的网站上为索引页面完成了RewriteRule。.htaccess多个页面的重写规则
这里是下面的代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^([a-zA-Z0-9+\-\(\)]+)/?$ /index.php?origin=$1
RewriteRule ^([a-zA-Z0-9+\-\(\)]+)/([a-zA-Z0-9+\-]+)/?$ /index.php?origin=$1&gender=$2
RewriteRule ^([a-zA-Z0-9+\-\(\)]+)/([a-zA-Z0-9+\-]+)/([a-zA-Z0-9+\-]+)/?$ /index.php?origin=$1&gender=$2&type=$3
RewriteRule ^([a-zA-Z0-9+\-\(\)]+)/([a-zA-Z0-9+\-]+)/([a-zA-Z0-9+\-]+)/([a-zA-Z0-9+\-]+)/?$ /index.php?origin=$1&gender=$2&type=$3&page=$4
</IfModule>
,网址为貌似
http://babynames.agurchand.com/scottish/male/pythagorean
这是一个单页的网站,让一切工作正常为止。 然后我想在我的网站上添加一个页面,我也添加了。文件名是'namemeaning.php'。
我在底部添加了下面的代码以及粘贴的htaccess。但它似乎没有工作。
RewriteRule ^/namemeaning/([a-zA-Z0-9+\-\(\)]+)/?$ /namemeaning/namemeaning.php?name=$1
我已经尝试过以下网址,但我仍然只被引用到索引页。
http://babynames.agurchand.com/namemeaning/abasi
任何人都可以给我一个解决这个请!
答
由于您的索引页面的正则表达式符合您的请求,因此您被转发到索引页面。你被发送到index.php?起源= namemeaning &性别=阿巴西
http://babynames.agurchand.com/namemeaning/abasi
'namemeaning' fits the rule ([a-zA-Z0-9+\-\(\)]+)
'abasi' fits the rule ([a-zA-Z0-9+\-]+)
一个简单的修正将被添加行
RewriteRule ^/namemeaning/([a-zA-Z0-9+\-\(\)]+)/?$ /namemeaning/namemeaning.php?name=$1
线之上
RewriteRule ^([a-zA-Z0-9+\-\(\)]+)/?$ /index.php?origin=$1
你应该记得总是把最具体的RewriteRule放在那些更一般的那些上面。
有关正则表达式的更多信息,我可以建议你this website。
解决了我的问题,粘贴代码上面所有的他们谢谢! – agurchand 2012-08-12 09:32:30