我正在尝试为我的网站上的注册建立一个推荐系统。我当前的 htaccess 文件如下
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
================================================== =========
我尝试 htaccess /referall/something
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
最佳答案
([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)。
关于PHP htaccess 代替 $_GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20453776/