【发布时间】:2019-05-19 12:51:44
【问题描述】:
我已经在http://url/sdf19/ 构建了一个应用程序
我在 /sdf19/ 中放置了一个 .htaccess,其中包含用于干净 url 的 RewriteRule。
但是我已经构建了一个 PDF 生成工具,它位于子文件夹 /inc/tools 中。
我需要直接链接到它以在标题之前运行。
尽管进行了几个小时的搜索、尝试 sn-ps、生成器等。如果没有现有的 RewriteRule 集接管,我无法获得对 http://url/sdf19/inc/tools 的任何请求
这是我的起始文件
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)\/?$ index.php?page=$1 [NC]
RewriteRule ^([a-z]+)\/([0-9]+)\/?$ index.php?page=$1&id=$2 [NC]
RewriteRule ^([a-z]+)\/([a-z]+)\/?$ index.php?page=$1&action=$2 [NC]
RewriteRule ^([a-z]+)\/([a-z]+)\/([0-9]+)\/?$ index.php?page=$1&action=$2&id=$3 [NC]
我尝试在第 4 行添加此内容;
RewriteCond %{REQUEST_URI} !^ inc/tools/ [NC]
这给了 RewriteCond: bad argument line 错误
我已尝试将此添加到第 2 行;
RewriteCond %{REQUEST_URI} ^/inc/tools/(.*)$
RewriteRule ^.*$ - [L]
期望的结果是我可以允许直接访问http://url/sdf19/inc/tools > 到目前为止我尝试过的所有内容都被重定向到基础http://url/sdf19/
【问题讨论】:
-
尝试在
.htaccess文件的开头添加此规则:RewriteRule ^(inc)($|/) - [L] -
@Hackerman 不走运,恐怕。直接把我吐回
/sdf19。在控制台的网络日志中,我可以看到浏览器在重定向前一瞬间以 302 状态访问了/inc/tools/pdf.php。 -
谢谢@Emma——现在已经在那边做了,再一次,大多数sn-ps和答案都提供了我似乎已经尝试过的东西,所以我希望在展示我的特殊.htaccess时,有人可以保存我从精神错乱中
-
ServerFault 上的跨站发帖:serverfault.com/questions/967977/…
标签: apache .htaccess mod-rewrite url-rewriting