通过1个文件发送所有传入的URL请求,获取PHP的Path Parameters

时间:2012-02-29 00:07:06

标签: .htaccess url redirect sef

我希望大多数传入的URL请求指向全局处理器文件

**www.itsme.com/index.php**

网址可以包含所有类型的结构,但始终使用'/'代替'?|& | =',例如

  • www.itsme.com/news/finance /
  • www.itsme.com/news/money/trading
  • www.itsme.com/sports

index.php应该能够识别从中调用的URL及其参数,例如

array{[1]=>news,[2]=>finance})

由于我有很多目录,我想更好地避免在每一个(.htaccess)文件中单独放置重定向。

Apache / Linux / PHP 5.3

怎么可以这样做?thx

2 个答案:

答案 0 :(得分:0)

让Apache通过mod_rewrite

为您完成工作
RewriteRule ^news/(.*)/$ /index.php?parts[]=news&parts[]=$1 [L]
RewriteRule ^news/(.*)/(.*)/$ /index.php?parts[]=news&parts[]=$1&parts[]=$2 [L]
RewriteRule ^sports/(.*)/$ /index.php?parts[]=sports&parts[]=$1 [L]

答案 1 :(得分:0)

这很简单。将这个1-liner放在root中作为.htaccess将会:

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+) index.php?var1=$1&var2=$2&var3=$3&var4=$4 [NC]

不是很棒吗?