2012-05-19 17 views
1

我想要的网址,如改写:mysite.com/Section/Subsection/SubSubSection到 mysite.com/index.php?s=Section & SUB1 =款& SUB2 = SubSubSection如何重写URL,将路径拆分为单独的查询字符串参数?

我写这条规则:

RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /index.php?s=$1&sub1=$2&sub2=$3 

但问题是,条,款和SubSubSection不是强制性的,而是如果我插入一些“?”性格如此下去内部服务器错误...

(我试过这样:

RewriteRule ^([^/]*)(/([^/]*))?(/([^/]*))?/?$ /index.php?s=$1&sub1=$3&sub2=$5 

,但它不工作)

另一个问题是,有一些不应该被编辑其他网址如/res/img/logo.png。

该网站是动态的,所以我不知道节名称事先。当然,我知道应排除的网址。

任何解决方案?提前致谢。

+1

是没可能只是处理REQUEST_URI在PHP中呢?似乎它会更容易,我认为CMS就像Wordpress,Drupal和Joomla。我认为一旦一切都被重定向,Zend处理php中的url index.php – Gohn67

+0

但是,如果我重定向到index.php,当我尝试在php中处理它时,request_uri总是'index.php',或者不是? –

+0

就是这样,request_uri不会更改为index.php,只要您不在重写规则中执行重定向。以一个Wordpress .htaccess文件为例。 – Gohn67

回答

0

我认为你应该做这样的事情......

RewriteRule ^/([a-zA-Z]*)/([a-zA-Z]*)/([a-zA-Z]*)/?$ /index.php?s=$1&sub1=$2&sub2=$3 

问候,

Mimiz

相关问题