gpt4 book ai didi

apache - 在RewriteCond文件中使用更改的%{REQUEST_URI}存在检查

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

我想使用诸如http://localhost/universe/networks/o2/o2_logo.gif之类的URL并执行以下操作:

如果以/ universe /开头
从中剥离/ universe /成为/networks/o2/o2_logo.gif
检查它是否存在于%{DOCUMENT_ROOT} /networks/o2/o2_logo.gif中
如果是这样,请以静默方式将请求重写为此文件。


如果我使用以下规则:

RewriteCond%{REQUEST_URI} ^ / universe /
RewriteRule ^(。*)$ http://www.example.org/$1 [L]


http://localhost/universe/networks/o2/o2_logo.gif被重写为http://www.example.org/networks/o2/o2_logo.gif,这很棒,但是我似乎无法使用

如何进一步使用这个“更改后的”%{REQUEST_URI},比如说$ 1或类似的东西?

最佳答案

我无法仅通过.htaccess来实现此目的,但使用了以下文件:

RewriteEngine On

# Does the file exist in the content folder?
RewriteCond %{REQUEST_URI} !^/content.*
RewriteCond %{DOCUMENT_ROOT}/universe/%{REQUEST_URI} -f

# File Exists
RewriteRule ^ %{DOCUMENT_ROOT}/universe/%{REQUEST_URI} [L]

# If the request is not a file, link or directory then send to index.php
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L] # Item exists so don't rewrite

# Nothing exists for the request so append a trailing / if needed
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^ %{REQUEST_URI}/ [R=301,L]

RewriteRule ^.*$ index.php [NC,L] # Send off as-is to index.php


然后进入我的document_root文件夹并执行以下操作:

cd /var/www/journal
ln -s journal/public universe
cd /var/www/journal/public
ln -s content/ universe


结合htaccess意味着一切正常。

关于apache - 在RewriteCond文件中使用更改的%{REQUEST_URI}存在检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/873022/

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