使用.htaccess将url / file_file2.php转换为url / file / file2

时间:2013-03-07 15:40:12

标签: .htaccess

您好我正试图通过.htacess为我的网站提供一些不错的网址, 没有.php ,并将“url1_url2.php”等请求转换为“url1 / url2”

在我的目录中有;

admin_user.php
admin.php
blog.php
admin_user_register.php

// into something like

/admin/user
/admin
/blog
admin/user/register

我们怎么能用.htacess做到这一点?

1 个答案:

答案 0 :(得分:0)

每个参数都需要一条规则,否则重写的网址会为每个缺失的参数设置一个下划线_

您可以在根目录中的.htaccess文件中尝试:

Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /

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

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

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

静默地映射任何类似这样的网址:

http://example.com/par1/par2/par3最多包含3个参数:

http://example.com/par1.php最多

http://example.com/par1_par2_par3.php取决于传入的参数。

假设所有字符串都是动态的。

对于永久和可见的重定向,将[L,NC]替换为[R = 301,NC,L]