gpt4 book ai didi

.htaccess - 删除 .HTACCESS 文件中的所有扩展名

转载 作者:行者123 更新时间:2023-12-02 15:35:04 24 4
gpt4 key购买 nike

我想删除应用程序中的多个扩展。

例如在一个名为 directory 的目录中我有这些文件

  • samplehtml.html
  • 示例php.php
  • 样本.pl

我想访问这些没有扩展名的文件

  • example.com/samplehtml
  • example.com/samplephp
  • example.com/sample

我找到了这段代码,它适用于删除单个扩展。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.cgi [NC,L]

当我尝试使用此代码添加更多扩展时,只有第一个可以工作。我将上面的扩展为

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.cgi [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteRule ^([^\.]+)$ $1.php [NC,L]

我希望扩展的最后一点有问题。谁能帮我解决一下。

最佳答案

是的 RewriteCond 仅适用于下一个 RewriteRule。你可以有 3 条规则:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.html -f
RewriteRule ^(.+?)/?$ /$1.html [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.cgi -f
RewriteRule ^(.+?)/?$ /$1.cgi [L]

替代方案:您可以使用以下选项避免上述所有规则:

Options +FollowSymLinks +MultiViews

关于.htaccess - 删除 .HTACCESS 文件中的所有扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19144141/

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