Wordpress / htaccess-允许访问子目录

时间:2018-09-27 13:50:41

标签: wordpress apache .htaccess directory subdirectory

我有一个要访问的子目录(app)在我的wordpress网站的根文件夹中。我看过这里:

https://wordpress.stackexchange.com/questions/20152/cannot-access-non-wordpress-subdirectories-as-wordpress-overrides-them-with-a-40

我尝试了解决方案,但没有任何效果。

我还尝试将单独的.htaccess文件添加到app子目录中,如下所示:

DirectoryIndex index.php index.html index.htm
Options +Indexes

但这似乎没有帮助:

我现在尝试使用的主要.htaccess看起来像这样:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/app/(.*)$ [OR]
RewriteRule ^.*$ - [L]
</IfModule>

# 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

我遇到404错误。

我在做什么错?如果我正在iPhone上浏览网站,是否清除手机上的野生动物园历史记录足以刷新数据,以便它识别新的.htaccess?谢谢。

更新

我添加了:

<Directory "/home/eamondev/public_html/subconscious/">
    Options All
    AllowOverride All
    Require all granted
</Directory>

进入在Includehttpd.conf进入.conf文件的.conf文件,重新启动apache,但没有帮助。

我也尝试过:

<Directory "/home/eamondev/public_html/subconscious/">
    AllowOverride All
</Directory>

并且它不起作用,我不确定是否只需要AllowOverride All-两种方法似乎都无济于事。

更新

Includehttpd.conf的.conf文件中,我尝试过:

<VirtualHost 162.241.180.99:80>
    ServerName eamondev.com
    DocumentRoot /home/eamondev/public_html

    <Directory "/home/eamondev/public_html/">
      AllowOverride All
    </Directory>
</VirtualHost>

但这没有帮助。

我是否有理由不应该仅在服务器上创建另一个子域并将文件托管在该服务器上,以使到达它们不会与我的wordpress网站冲突?

2 个答案:

答案 0 :(得分:0)

结果证明,我的域尚未传播,因此无法查看/测试我所做的任何更改。在意识到它还在传播之前,我还考虑过创建另一个子域并从那里托管我需要的文件。

答案 1 :(得分:-1)

使用以下代码,我认为它会起作用。

<IfModule mod_rewrite.c>
RewriteEngine On

# Map http://www.example.com to /app.
RewriteRule ^$ /app/ [L]

# Map http://www.example.com/x to /app/x unless there is a x in the web root.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/app/
RewriteRule ^(.*)$ /app/$1

# Add trailing slash to directories within app
# This does not expose the internal URL.
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^app/(.*[^/])$ http://www.example.com/$1/ [R=301]
</IfModule>