您好我正试图通过.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做到这一点?
答案 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]