我想在子目录中安装WordPress并在永久链接中删除index.php。 服务器是IIS 6.0,支持重写。 我的网络服务器有以下目录:
根目录
--wp [wordpress文件夹]
根目录/ 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/
根目录/ 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
因此,Wordpress可以在访问http://a.luckyet.com/或http://a.luckyet.com/hello-world.html
时正常工作问题:
如果 webroot / wp / 中存在类似a.html的真实文件,例如 webroot / wp / a.html ,则会在访问时报告wordpress 404错误 http://a.luckyet.com/a.html ,.我该如何解决这个问题?
答案 0 :(得分:0)
您正在使用.htaccess文件和WordPress设置动态重写URL以加强.html扩展名 - 任何“真实”.html文件的文件都由IIS处理程序映射在上游处理。
您必须在IIS中更新.html文件中的处理程序映射,尤其是将请求直接定向到物理文件。