【问题标题】:htaccess rewrite and remove .php extensionhtaccess 重写并删除 .php 扩展名
【发布时间】:2014-12-22 10:43:21
【问题描述】:
所以,我一直在阅读 mod_rewrite,因为我想删除 .php 扩展名并让 URL 看起来不同,这样最终用户就不会看到 URL 中的所有参数。
我的目标:
/foo.php?p=bar
好像:
/foo/bar
其中 foo 和 bar 可以是任何数字和字符。
我只使用 .php 文件,因此不必使用 .html 等。
【问题讨论】:
标签:
regex
apache
.htaccess
mod-rewrite
redirect
【解决方案1】:
您可以在DOCUMENT_ROOT/.htaccess 文件中使用此代码:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [F]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/]+)/?$ $1.php [L]
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^([^/]+)/([^/]+)/?$ $1.php?p=$2 [L]