【问题标题】:Convert dynamic urls to static for directory listener ("Encode Explorer")将目录侦听器的动态 url 转换为静态(“编码资源管理器”)
【发布时间】:2025-12-21 16:00:07
【问题描述】:

我尝试将此目录侦听器的动态 url 转换为静态:http://encode-explorer.siineiolekala.net/ 演示:http://encode-explorer.siineiolekala.net/explorer/index.php

动态网址为: http://files.onitex.tmweb.ru/?dir=directory/subdirectory

我想要的: http://files.onitex.tmweb.ru/directory/subdirectory

我阅读了文档并在 .htaccess 中编写了以下规则:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([\/\A-Za-z0-9-]+)/?$  /?dir=$1 [L]

在这个测试器中运行良好http://htaccess.madewithlove.be/ 但不在目录侦听器上。 我想我需要颠倒规则。 请您解释一下,我该如何解决这个问题?

更新:

我当前的 .htaccess:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$  /?dir=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+?)/$  /?dir=$1 [L,QSA]

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    在根 .htaccess 文件中使用此规则:

    Options +FollowSymLinks
    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+?)/?$  /?dir=$1 [L,QSA]
    
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.+?)/$  /?dir=$1 [L,QSA]
    

    不要在htaccess.madewithlove.be 上测试它,它不是很可靠。在你的本地主机上测试它。

    【讨论】:

    最近更新 更多