整洁的URL,查询字符串和强制类型无法按预期工作

时间:2012-05-03 22:06:59

标签: mod-rewrite

我试图让我的网站网址'整洁',但无法弄清楚查询字符串

例如,我想:

services.php?service=3

services/3

我在服务页面中有适当的代码来获取项目

$loc = explode("/",$HTTP_SERVER_VARS["REQUEST_URI"]);
$service = $loc[count($loc)-1]; 

和htaccess设置为对.php文件进行所有重定向工作以及

<FilesMatch "^services$">
    ForceType application/x-httpd-php
</FilesMatch>

but "services/3" gets a 404 error.

重写使用的规则是:

RewriteCond %{REQUEST_URI} !(\.[^./]+)$   
RewriteCond %{REQUEST_FILENAME} !-d   
RewriteCond %{REQUEST_FILENAME} !-f   
RewriteRule (.*) /$1.php [L]   
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+\.)+php\ HTTP   
RewriteRule ^(.+)\.php$ /$1 [R=301,L] 

1 个答案:

答案 0 :(得分:0)

为什么不使用:

RewriteEngine on
RewriteRule ^services/([0-9]+)(/)?$ services.php?service=$1