.htaccess目录结构的重写规则

时间:2016-04-26 04:31:08

标签: php apache .htaccess mod-rewrite url-rewriting

所以我正在仔细阅读stackoverflow寻找PHP seo友好路径参数的答案,并遇到了几个examples,但没有完全像我需要的那样。我确定我最大的问题不是充分理解RewriteRule。无论如何,这就是我需要的:

1)我需要从所有页面中删除(.php)

http://www.example.com/directory1/file1   <---- no .php
http://www.example.com/directory1/file2   <---- no .php
http://www.example.com/anotherDirectory/file1   <---- no .php

2)某些目录中的页面能够以SEO友好的形式获取查询参数。

http://www.example.com/directory1/file2/param1/value1/param2/value2

希望有一个$_GET。这是目录结构:

/index.php 
/directory1/
      --file1.php?param1=$1&param2=$2&param3=$3
      --file2.php
/anotherDirectory/
      --file1.php

这就是我所拥有的(但不起作用,即没有得到查询参数)

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} -f [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
 RewriteRule ^([a-z-]+)$ index.php/directory1/file1.php?param=$1 [QSA,L]

旁注:
1)如何处理可选参数?就像param1-3可能是可选的一样,或者param2-3可能是可选的

2)我还需要为每个文件设置一套不同的规则吗?

0 个答案:

没有答案