php URL - 用斜杠替换问号和参数

时间:2017-01-03 08:44:04

标签: php apache .htaccess url

所以原始网址看起来像是

website.com/post.php?id=130

使用以下htaccess规则我能够从网址中删除.php

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

现在网址看起来像这样

 website.com/post?id=130

现在我希望用斜杠替换“?id =”以使网址看起来像

website.com/post/130

关于该怎么做的任何提示?

1 个答案:

答案 0 :(得分:0)

您需要一个额外的规则:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

RewriteCond %{DOCUMENT_ROOT}/proj1/$1.php -f
RewriteRule ^([\w-]+)/([\w-]+)/?$ $1.php?id=$2 [L,QSA]

RewriteCond %{DOCUMENT_ROOT}/proj1/$1.php -f
RewriteRule ^([^.]+?)/?$ $1.php [L]