【问题标题】:htacess rewrite causing trouble for a wordpress installhtaccess 重写导致 wordpress 安装出现问题
【发布时间】:2011-04-09 11:13:44
【问题描述】:

下面是我的 htaccess,它允许用户通过简单的方式发送参数:http://www.site.com/PARAMETER。到目前为止,我没有遇到任何问题,一切正常,但我尝试安装一个 wordpress-blog 并将其放在http://www.site.com/blog/ 下,现在尝试访问它,它不起作用,脚本进入参数时的模式即使我尝试使用确切的 URL 也是错误的:http://www.site.com/blog/index.php

IndexIgnore */*

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ lista.php?kod=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ lista.php?kod=$1

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.com$
RewriteRule (.*) http://www.site.com/$1 [R=301,L]

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?site.com/.*$ [NC]
RewriteRule .(gif|jpg)$ � [F]

<Files .htaccess>
order allow,deny
deny from all
</Files>

值得注意的是,我在http://www.site.com/b/page.php 上有另一个页面,我可以正常访问。

【问题讨论】:

    标签: wordpress .htaccess mod-rewrite


    【解决方案1】:

    尝试明确告诉 mod_rewrite 忽略与现有目录或文件匹配的请求。示例:

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^.*$ - [L]
    

    当包含在脚本顶部时(RewriteEngine On 之后),如果 URL 与现有目录或文件匹配,这将强制重写引擎停止重写。

    【讨论】:

    • 太好了,谢谢。此外,根据您写的内容,我想知道我是否需要像在 htaccess 中那样多次声明 RewriteEngine。或者换句话说,我还有什么可以改变的吗?
    • 啊,我忘了确切地提到 :) 文件指令顶部的一个 RewriteEngine On 指令就足够了。此外,您可能需要将您的盗链检查移到我给您的指令之上。顺序应该是:没有盗链,没有现有的文件或目录,然后是你的其他重写规则。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多