gpt4 book ai didi

wordpress - .htaccess RewriteCond %{REQUEST_FILENAME} !-d 不起作用

转载 作者:行者123 更新时间:2023-12-02 05:01:27 30 4
gpt4 key购买 nike

我想在子目录中安装 WordPress,并删除永久链接中的 index.php。服务器为IIS 6.0,支持rewrite。我的网络服务器有以下目录:

webroot
--wp [wordpress folder]

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.coma.luckyet.com/hello-world.html 时有效但是当我访问 a.luckyet.com/wp-login.phpa.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 , 。我该如何解决这个问题?

最佳答案

您正在使用 .htaccess 文件和 WordPress 设置动态重写 URL 以附加 .html 扩展名 - 任何“真实”.html 文件都由 IIS 处理程序映射向上游处理。

您必须为 .html 文件更新 IIS 中的处理程序映射,尤其是将请求直接定向到物理文件。

关于wordpress - .htaccess RewriteCond %{REQUEST_FILENAME} !-d 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995373/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com