【发布时间】:2021-11-17 06:41:44
【问题描述】:
我需要一些帮助来将我的静态 .htaccess 规则转换为动态规则。这是规则的定义:
#Redirect the request of file inside folder 'agencias/pagina_agencia/' to the base root URL
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.avantitecnologiati.com.br
RewriteRule ^teste2 agencias/pagina_agencia/teste2.php [L,QSA]
每当有人请求页面:[www.avantitecnologiati.com.br/teste2] 时,htaccess 规则会自动读取位于此路径的名为“teste2.php”的文件:[www.avantitecnologiati.com.br/ agencias/pagina_agencia/teste2.php] 一切正常吗?
不,我有两个问题;(
- 每次在名为“agencias/pagina_agencia/”的文件夹中添加一个新文件时,我都需要创建一个新行,例如:
RewriteRule ^teste3 agencias/pagina_agencia/teste3.php [L,QSA]
这不起作用,因为我要在文件夹“目录”中创建 10k 个文件...
- 如果用户直接请求[
www.avantitecnologiati.com.br/agencias/pagina_agencia/teste2],需要重定向到页面[www.avantitecnologiati.com.br/teste2],不会显示真实位置...
感谢您抽出宝贵时间阅读我的问题;)
完整的 HT 访问代码
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ avantitecnologiati.com.br$1 [R=301,L]
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.avantitecnologiati.com.br
RewriteRule ^teste2 agencias/pagina_agencia/teste2.php [L,QSA]
RewriteRule ^teste3 agencias/pagina_agencia/teste3.php [L,QSA]
#Hide and Redirect Extension
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteRule ^(.+)\.php$ /$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/shtml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
#Custom Error Page
ErrorDocument 404 http://www.avantitecnologiati.com.br/
我在尝试使用 arkascha 规则时收到 302 错误,当我请求 url:http://www.avantitecnologiati.com.br/ 时找不到文件;(
【问题讨论】:
-
嘿,某人;(
-
这种逻辑可以盲目地应用于所有请求吗?还是有例外?
-
附带说明:在单个文件夹中创建 10k 个文件不是选项。无论创建大量静态文件是否是个好主意(通常是 not ),您都需要考虑物理文件系统中存在的限制。
-
嗯,那你对我有什么建议?它是 10k,因为我这样做是为了分开......否则一个文件夹内将是 25k.. =/
标签: .htaccess redirect url-rewriting