PHP htaccess而不是$ _GET

时间:2013-12-08 13:10:31

标签: php

我试图在我的网站上为我的sighnup制作一个推荐系统。我当前的htaccsess文件位于

之下
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?page=$1
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?page=$1

有没有办法做/ refferall / Something而不只是/Something但是保持正常/Something?我在推荐下面的尝试。 但它只是报道:

找不到对象!    在此服务器上找不到请求的URL。    如果您手动输入了URL,请检查拼写,然后重试。    如果您认为这是服务器错误,请与网站管理员联系。

错误404    127.0.0.1    Apache / 2.4.4(Win32)OpenSSL / 1.0.1e PHP / 5.5.3

=============================================== =========

我尝试了/referall/something

的htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)referal/$1 index.php?refferal=$1
RewriteRule ^([a-zA-Z0-9_-]+)/referall/$1 index.php?refferal=$1
RewriteRule ^([a-zA-Z0-9_-]+)referall/$1 index.php?refferal=$1

完整,同时

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

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)referal/$1 index.php?refferal=$1
RewriteRule ^([a-zA-Z0-9_-]+)/referall/$1 index.php?refferal=$1
RewriteRule ^([a-zA-Z0-9_-]+)referall/$1 index.php?refferal=$1

1 个答案:

答案 0 :(得分:2)

([a-zA-Z0-9_-]+)表示1个或更多字符(括号内指定类型)。

您需要的是以下htaccess(优化现有部分)

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?page=$1
RewriteRule ^referal/([a-zA-Z0-9_-]+)/?$ index.php?referral=$1

注意:推荐中有一些类型(它是单个f,单个l)。