gpt4 book ai didi

apache - .htaccess mod_rewrite 子目录到 URL 参数

转载 作者:行者123 更新时间:2023-12-04 06:04:19 25 4
gpt4 key购买 nike

我希望之前没有一遍又一遍地问这个问题,但是我没有使用 google、w3schools 等进一步得到答案。所以这是我的问题:
我正在编写一个脚本,该脚本创建了我主页上的项目索引,并根据信息文件制作了包含图像和预告文本的漂亮列表。我主要在 github 上有我的项目,并且自述文件在 markdown 中,所以我认为我可以使用 PHP 从 github 按需使用最新 blob 的 markdown 动态生成 HTML,因此它会自动更新。
我的目录结构如下所示:

projects
project1
.remoteindex
.info
project2
.remoteindex
.info
index.php
.htaccess

所以当只是 domain.tld/projects/要求我从 .info 获取信息并为所有项目制作一个很好的索引。但如果 domain.tld/projects/project1/是请求它,我想在内部将它重定向到 domain.tld/projects/?dir=project1做我的 Markdown 解析等等。但是 domain.tld/projects/project1/image.png不应重定向。

这是我尝试过的:
.htaccess
RewriteEngine on
RewriteRule ^([^/]+)/?$ index.php?dir=$1 [R,L]

我让它重定向而不是重写,以便我可以看到错误是什么,因为我刚收到一个 404。我被重定向到的 URL 是 domain.tld/home/www/web310/html/projects/index.php?dir=project1所以很明显,网络服务器的内部结构出了问题,路径是什么。
我希望你能理解我的问题,如果有人能帮助我,我会很高兴,因为我完全迷失在 .htaccess 上。反正。

编辑:

请参阅下面我对使用的 .htaccess 的回答.

奇怪的是,如果我有一个 index.html在子目录中,我的本地 Web 服务器(带有 XAMPP for Mac OS X 1.7.3 的 Apache)没有重写, index.html被显示出来,没有它就可以正常工作。但是在我为我的主页提供服务的真实 Web 服务器上,它在使用和不使用 index.html 的情况下都会重写。 (这是我想要的)。任何提示?

最佳答案

感谢到目前为止的所有帮助!你们真是太棒了!

我发现你的两种解决方案的共生对我来说很有效:

RewriteEngine on
RewriteBase /projects
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^([^/]+)/?$ index.php?dir=$1 [QSA,L]

当然只有没有 [R] ,这是我的错。 (请参阅我的问题编辑以获取另一个问题)。

关于apache - .htaccess mod_rewrite 子目录到 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546227/

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