2011-02-02 69 views
0

我安装了WordPress的子目录,可以说www.example.com/wordpress。我希望用户点击www.example.com并查看www.example.com/wordpress的索引。我已经使用了自定义漂亮的永久链接结构/%category%/%pagename%/,因此htaccess文件对我来说有点陌生。隐藏一个文件夹以显示与WordPress的漂亮永久链接与htaccess

我现在的htaccess文件是这样的:

# 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 

AddType x-mapp-php5 .php 
AddHandler x-mapp-php5 .php 

我来自全国各地的网页浏览试过无数解决方案,但似乎没有任何工作。即使在我删除了缓存后,我也会得到内部500错误或查看example.com/about根目录中的前一页(尽管我已经删除了根目录中的原始about.html)。

你可以给任何帮助将是非常有益的。感谢您的时间, Rob

+0

错误500?什么是你的网络服务器错误日志?你有适当的AllowOverride permissios设置在你的web服务器配置? – 2011-02-02 19:00:42

回答

0

.htaccess文件需要位于/而不是在/ wordpress /中,而RewriteBase应该是/ not/wordpress /。保留永久链接设置,但不要在/ wordpress /中使用.htaccess文件。您需要将wordpress安装目录中的根目录设置为/,并为/ wordpress/wp-content /和/.htaccess中的其他wordpress子目录设置重定向,以便对这些目录的请求也能正确转发。

我假设你想这样设置wordpress,因为还有其他目录与你想从/(www.example.com/cgi-bin/例如)访问的wordpress安装无关。您需要在/中设置您的.htaccess文件以使任何目录别名(如/ cgi-bin /)可访问,以便/ cgi-bin /的请求不会被重定向到wordpress。

编辑: 我没有做过这样的事情在很长一段时间,但这里是我最好的猜测:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^wp-content/(.*)$ /wordpress/wp-content/$1 [L,QSA] 
    RewriteRule ^wp-admin/(.*)$ /wordpress/wp-admin/$1 [L,QSA] 
    RewriteRule ^wp-include/(.*)$ /wordpress/wp-include/$1 [L,QSA] 
    RewriteCond %{REQUEST_URI} !^/yourAliasUnrelatedToWordpress [NC,OR] 
    RewriteCond %{REQUEST_FILENAME} !-f [OR] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /wordpress/index.php [L,QSA] 
</IfModule> 
+0

我要给这个旧大学现在尝试。我会让你知道它是怎么回事。非常感谢您的快速响应 - 非常感谢。 – Rob 2011-02-02 19:35:34

相关问题