【发布时间】:2013-04-06 09:33:30
【问题描述】:
我想在子目录中安装 WordPress 并删除永久链接中的 index.php。 服务器是IIS 6.0,支持重写。 我的网络服务器有以下目录:
网络根
--wp [wordpress 文件夹]
webroot/.htaccess
RewriteCond %{HTTP_HOST} ^(www\.)?a.luckyet\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^(www\.)?a.luckyet\.com$ [NC]
RewriteRule ^(/)?$ wp/
webroot/wp/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f #1
RewriteCond %{REQUEST_FILENAME} !-d #2
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] #3
当我访问 a.luckyet.com 和 a.luckyet.com/hello-world.html 时它可以工作 但是当我访问 a.luckyet.com/wp-login.php 或 a.luckyet.com/wp-admin
时它不起作用#3 工作正常,但#1 和#2 不能正常工作。然后看到here,把webroot/wp/.htaccess的内容改成:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
它仍然没有生效。谁能帮我?提前致谢!
更新:
ISAPI_Rewrite 版本是 3.0。
webroot/.htaccess中的所有代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?a.luckyet\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^(www\.)?a.luckyet\.com$ [NC]
RewriteRule ^(/)?$ wp/
webroot/wp/.htaccess中的所有代码:
RewriteEngine on
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule wp-(.*) wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f #1
RewriteCond %{REQUEST_FILENAME} !-d #2
RewriteRule (.*) index.php/$1 [L]
Wordpress 固定链接是:
/%postname%.html
因此,访问http://a.luckyet.com/ 或http://a.luckyet.com/hello-world.html 时,Wordpress 可以正常工作
问题:
如果webroot/wp/中有真实文件如a.html,如webroot/wp/a.html,访问时会报wordpress 404错误http://a.luckyet.com/a.html, .我该如何解决这个问题?
【问题讨论】:
-
应该是
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f或!-d。您使用的是什么 ISAPI_Rewrite 版本? -
谢谢,但还是不行。 ISAPI_Rewrite版本我也不知道,是我买的虚拟主机。
-
我更新了问题,有什么办法可以解决这个问题吗?
-
您问题中的所有ISAPI 3 服务器变量和指令似乎都与Apache 兼容,因此兼容性不是问题。我在 wp 目录的 .htacces 文件中看到了几块规则,但没有指示每个规则在文件中的位置。也许您可以将完整的 .htaccess 文件内容而不是实际块复制并粘贴到您的问题中,以便更好地理解整个代码。
-
我更新了,谢谢你的帮助!
标签: wordpress .htaccess permalinks