繁体   English   中英

.htaccess从所有URL中删除子目录名称

[英].htaccess remove subdirectory name from all URLs

我正在挖网,并没有找到任何适当的解决方案来解决这个问题。 基本上,我想从所有URL中删除子目录( subdirname )名称,例如:

http://test.com/subdirname/
http://test.com/subdirname/content/
http://test.com/subdirname/content/newpage

该网站基于Wordpress,位于/ subdirname 我有两个.htaccess文件,一个在根目录中:

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
    Order Deny,Allow
    Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d

#RewriteCond %{REQUEST_URI} !^(/var|/static)
#RewriteCond %{REQUEST_URI} !^(/index\.php|/var|/static)

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

RewriteCond %{HTTP_HOST} ^(www\.)?test\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !/subdirname/
RewriteRule ^(.*)$ /subdirname/$1 [L]

和/ subdirname /目录中的第二个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subdirname/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subdirname/index.php [L]
</IfModule>
# END WordPress

如果有人有一些提示如何解决它,请建议。

您应该能够将WordPress设置为在根域中显示,但应安装在子目录中 只需更改“设置” - >“常规”屏幕下的站点URL即可。 将子目录保留在WordPress URL框中。 然后您将登录http://yoursite.com/subdirectory/wp-admin ,但是大家会访问您的网站http://yoursite.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM