htaccess重写删除父目录和php扩展

时间:2011-04-07 19:20:42

标签: .htaccess mod-rewrite

我需要一只手重写一些网址。 我需要的是从网址中删除文件夹名称,并删除php文件扩展名。 示例:

我需要mysite.com/foldername/about.php 成为 mysite.com/about/

我必须说我有几个需要访问的php静态文件 mysite.com/filename/ 代替 mysite.com/foldername/filename.php

提前感谢您的时间。

亲切的问候。

1 个答案:

答案 0 :(得分:0)

RewriteEngine On
RewriteRule ^/[.*]/?$ foldername/$1.php#{QUERY_STRING} [NC,L]

如果您没有使用QUERY_STRING(即您没有$ _GET参数),那么您可以删除#{QUERY_STRING}

注意,这会将根目录中的所有内容重写为foldername / NAME.php

如果您希望排除某些路径(例如css,js文件和其他路径),我建议您这样做:

RewriteCond RewriteCond %{REQUEST_URI} !^*.css$
RewriteCond RewriteCond %{REQUEST_URI} !^*.js$
RewriteCond RewriteCond %{REQUEST_URI} !^*.php$
RewriteCond RewriteCond %{REQUEST_URI} !^*DONTREDIRECT*$
RewriteRule ^/[.*]/?$ foldername/$1.php#{QUERY_STRING} [NC,L]