从URL .htacess隐藏子目录

时间:2019-11-20 16:55:46

标签: .htaccess

首先,感谢所有阅读此文章的人。

我整天都在努力修改.htaccess文件,我觉得自己已经遍历了所有堆栈主题。

该网站是在Wordpress上运行的,但是我里面有一些自定义文件夹和一些自定义PHP文件。

目前,我拥有的URL是 www.example.com/employers/organisation/employee-name.php ,而我的目标是拥有 www.example.com/organisation/ employee-name.php -从URL中隐藏“雇主”文件夹。将创建许多不同的“组织”文件夹,例如“ Tesla”,“ Stack”等。

在根文件夹中的.htaccess中,我有以下内容:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

这是Wordpress的默认设置,如果我正确的话,必须留在那里。

我在堆栈上找到了以下代码,这些代码实际上完成了我所需要的:

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/+employers/([^\s]+) [NC]
RewriteRule ^ %1 [R=301,L]

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

然后链接 www.example.com/organisation/employee-name.php 起作用,但是整个网站(包括首页)都关闭了。

此外,我在/ employers /中的.htaccess文件中有此文件,用于删除文件的.PHP结尾:

RewriteEngine on
RewriteBase /employers/


RewriteRule ^index\.php$ - [L]

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

但是我现在的主要目标是摆脱URL中的“雇主”子目录。

0 个答案:

没有答案