隐藏URL目录名称 [英] Hide directory name from URL

查看:431
本文介绍了隐藏URL目录名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是想隐藏URL中的目录名。

:example.com/dirname/somepage :example.com/somepage

对我来说code不工作,我可能已经犯了一些错误

 的RewriteBase /
的RewriteCond%{} REQUEST_FILENAME!-d
的RewriteCond%{} REQUEST_FILENAME!-f
重写规则/ / DIR / $ 1 [L]
 

我已经这样在.htaccess(隐藏PHP扩展)

  RewriteEngine叙述上
的RewriteCond%{} REQUEST_FILENAME -f .PHP
的RewriteCond%{REQUEST_URI}!/ $
重写规则(。*)$ 1 \ .PHP [L]
 

解决方案

这应该是你的完整的.htaccess:

 选项+了FollowSymLinks -MultiViews
#开启mod_rewrite的上
RewriteEngine叙述上
的RewriteBase /

的RewriteCond%{} REQUEST_FILENAME -f .PHP
的RewriteCond%{REQUEST_URI}!/ $
重写规则(。*)$ 1 \ .PHP [L]

的RewriteCond%{THE_REQUEST} ^ [AZ] {3,} \ S / +目录名/([^ \ s] +)[NC]
重写规则^%1 [R = 301,L]

的RewriteCond%{} REQUEST_FILENAME!-f
重写规则(?!^目录名/)^(.*)$ /目录名称/ $ 1 [L,NC]
 

I just want to hide the dir name from URL.

From: example.com/dirname/somepage To: example.com/somepage

That code doesnt work for me, i have probably made some mistakes

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule    /  /dir/$1    [L]

I have already this in .htaccess (to hide php extension)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]

解决方案

This should be your complete .htaccess:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+dirname/([^\s]+) [NC]
RewriteRule ^ %1 [R=301,L]

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

这篇关于隐藏URL目录名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆