使用.htaccess清理URL

时间:2014-04-14 14:09:34

标签: php .htaccess mod-rewrite

我环顾四周,大多数事情似乎都有些过分,或者我只是不理解某些事情。

我有以下网址:

http://cms.dev/article.php?post_id=6

我喜欢用

替换它们
http://cms.dev/article/6/

我已获得以下代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]

但是,这只会清除/admin.php/admin等网址。

清理网址的最佳方法是什么,但是.php是否已从其他网页中移除?

2 个答案:

答案 0 :(得分:0)

您可以使用:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/]+)/([0-9]+)/?$ /$1.php?post_id=$2 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]

答案 1 :(得分:0)

简单地说,

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

来源:10 Simple examples to rewrite using htaccess