2017-06-15 124 views
4

我想用一个简单的php应用程序来配置一个Wordpress应用程序。应用程序的目录结构如下:如何使用.htaccess/Apache2在简单的php应用程序的子目录中配置wordpress应用程序?

根目录:/无功/网络/ demoApp/

WordPress的目录:/无功/网络/ demoApp/WordPress的/

在这里,我想访问wordpress应用程序使用路线http://BASE_URL/wordpress。但我无法配置htaccess文件。/var/www/demoApp /目录下的所有php页面都可以正常使用,网址为http://BASE_URL/。而wordpress文件没有正确加载。

这里是我的Apache配置块:

<VirtualHost *:80> 
    ServerName localhost 

    ServerAdmin [email protected] 
    DocumentRoot /var/www/demoApp 

    <Directory /> 
      Options FollowSymLinks 
      AllowOverride None 
    </Directory> 
    <Directory /var/www/demoApp> 
      Options FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
    </Directory> 


    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 

应该是什么.htaccess文件?

+0

Nitesh,你把WordPress的WordPress的配置?我的意思是设置/一般。无论htaccess如何,Wordpress将始终使用此设置。试试,请让我知道。 –

+0

您确定要在''中使用'AllowOverride None'吗?这将阻止.htaccess文件改变任何事情不是吗? – CD001

+0

@PeterMatisko是的,WordPress的主页工作正常。其他页面无法正常工作。如http:// BASE_URL/wordpress/2017/03/11/hello-world /。 它抛出没有找到页面的Apache错误。 – Nitesh

回答

2

我的配置:

域:test.localhost

WordPress的网址:test.localhost/WordPress的

的.htaccess在WordPress文件夹:

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

# END WordPress 

为Apache设置子域(windows下的Wamp服务器)

<VirtualHost *:80> 
    DocumentRoot "e:\Sync\www\test" 
    ServerName localhost 
    ServerAlias test.localhost 

    <Directory "e:\Sync\www\test"> 
    Options Indexes FollowSymLinks 
    AllowOverride all 
    Order Deny,Allow 
    Deny from all 
    Allow from 127.0.0.1 
    Allow from ::1 
    </Directory> 

</VirtualHost> 
+0

Nitesh,是否有助于解决您的问题? –

+0

是的,它工作。 '重写规则。/wordpress/index.php [L]'从.htaccess文件中丢失。谢谢,彼得。 – Nitesh

+0

优秀!项目祝你好运:) –

相关问题