如何使用htaccess在URL中使用最后一个可选的结尾斜杠消除txt扩展名的需要

观察者

如何在php中使用htaccess regex消除txt文件的txt扩展名的需要并在URL中添加最终的可选尾部斜杠

我的代码是

   #turn on url rewriting 
RewriteEngine on

#remove the need for .txt extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.txt -f
RewriteRule ^(.*)(/?)$ $1.txt

但是它会引发500服务器错误。代码出了什么问题?

RavinderSingh13

根据显示的示例,您能否请尝试以下操作,请确保在测试URL之前清除浏览器缓存。一般警告,到目前为止,我尚未对其进行测试。

RewriteEngine ON
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{DOCUMENT_ROOT}/$1\.txt -f
RewriteRule ^(.*)/?$ $1.txt [L]

编辑:根据OP的评论添加以下解决方案。

RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_URI} /$
RewriteRule ^(.*)/$ $1 [R=301,L]

RewriteCond %{DOCUMENT_ROOT}/$1 !-d
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{DOCUMENT_ROOT}/$1\.txt -f
RewriteRule ^(.*)/?$ $1.txt [L]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

.htaccess如果最后一个斜杠之前没有扩展名,则添加斜杠

从URL删除php扩展名-使用htaccess只能删除一个URL

如何使用 .htaccess 隐藏扩展名并阻止用户使用扩展名 url 访问?

使用 htaccess 仅删除一个文件的 php 扩展名

.htaccess如果url不以扩展名结尾,请在末尾添加斜杠

删除.php扩展名并添加一个斜杠

将无扩展名的URL与PHP关联时的HTAccess可选尾部斜杠

使用sed从URL删除最后一个反斜杠

从路径中删除最后一个扩展名

如何使用正则表达式从最后一个斜杠拆分URL?

我需要匹配一个不以特定字符集结尾的字符串(文件扩展名)

htaccess regex-使用url /最后一个斜杠之后的最后一个目录的字符串进行FilesMatch

如何使用Htaccess删除多个文件扩展名并重定向文件扩展名URL

htaccess:如果不使用“&”或“?”,则重定向到最后一个斜杠

使用.htaccess从查询参数中删除最后一个斜杠

如何仅从一个URL删除.php扩展名?

如何获取两个点之间的字符串(最后一个点后跟图像扩展名)?

消除多个文件扩展名.htaccess

如何使用“ .htaccess”文件添加“ .php”扩展名

如何使用htaccess隐藏php文件扩展名?

htaccess不重写扩展名或斜杠

想要编辑文件内容,以便使用Unix命令在最后一个下划线之后和文件扩展名之前删除字符串

使用.htaccess删除文件扩展名

使用.htaccess隐藏扩展名

使用批处理基于一个扩展名制作重复文件

如何在swift中使用最后一个变量

如何在Dart中使用扩展名

删除最后的斜杠和扩展名,并通过htaccess处理错误页面

如何在 .htaccess 中使用正斜杠重定向 url?