我在根目录中安装了wordpress。我想在我的域上使用一些单独的php文件作为页面,为此我创建了一个单独的目录,其中包含用于提供php文件的所有文件,其目录结构如下:
根文件夹包含所有wordpress文件
我想用作页面的目录
/inc/css/
/inc/php/
/inc/img/
PHP文件中的CSS样式表文件目录位置是../inc/css
后退一步&然后是css文件夹。
我想隐藏URL中的文件夹,例如从根提供文件(从URL隐藏/ inc / php /,/ inc / css /&amp; / inc / img /文件夹)。< / p>
例如:www.domain.com/inc/php/about.php 重定向&amp;将此网址重写为至www.domain.com/about
我的根目录中的.htaccess
RewriteEngine On
RewriteBase /
# disable directory browsing
Options -Indexes
# Prevent hotlinking of images htaccesstools.com/hotlink-protection
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [NC,F,L]
RewriteRule ^login$ http://domain.com/wp-login.php [NC,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<files wp-config.php>
order allow,deny
deny from all
</files>
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
我尝试过简单的重定向规则,但文件夹在网址中公开。
Redirect 301 /about.php /inc/php/about.php
我还在PHP文件夹中有更多文件,我想在其中应用 redirect&amp;的相同规则。重写网址&amp; 隐藏网址中的文件夹&amp;删除PHP扩展。
答案 0 :(得分:1)
www.domain.com/inc/php/about.php redirect&amp;将此网址重写为www.domain.com/about
这当然意味着您不能拥有与php文件相同的基本文件名,例如css文件。如果请求是 www.domain.com/about ,那应该映射到/inc/php/about.php
还是/inc/css/about.css
?或者是图像?如果您同时拥有这两个文件,则只有一个文件将映射到。
但如果这真的是你想要的,请尝试在您拥有的热链接规则之后立即添加这些规则:
# Externally redirect requests for /inc/
RewriteCond %{THE_REQUEST} \ /inc/(php|img|css)/([^\?\ ]+)\.(php|css|jpe?g|png|gif) [NC]
RewriteRule ^ /%2 [L,R=301]
# Check if the request is a php file:
RewriteCond %{DOCUMENT_ROOT}/inc/php%{REQUEST_URI}.php -f
RewriteRule ^(.*)$ /inc/php/$1.php [L]
# Check if the request is a css file:
RewriteCond %{DOCUMENT_ROOT}/inc/css%{REQUEST_URI}.css -f
RewriteRule ^(.*)$ /inc/css/$1.css [L]
# Check if the request is a jpeg file:
RewriteCond %{DOCUMENT_ROOT}/inc/img%{REQUEST_URI}.jpg -f
RewriteRule ^(.*)$ /inc/img/$1.jpg [L]
# Check if the request is a gif file:
RewriteCond %{DOCUMENT_ROOT}/inc/img%{REQUEST_URI}.gif -f
RewriteRule ^(.*)$ /inc/img/$1.gif [L]
# Check if the request is a png file:
RewriteCond %{DOCUMENT_ROOT}/inc/img%{REQUEST_URI}.png -f
RewriteRule ^(.*)$ /inc/img/$1.png [L]