我希望使用Apache的mod_speling
模块使用不区分大小写的URL ,但这会产生不需要的"多个选项"列表,而Apache文档说
设置时,此指令将拼写更正的操作限制为大小写更改.不执行其他可能的更正.
我正在使用Apache 2.2.16 Unix全新安装进行测试,但我仍遇到与2008年提交的问题完全相同的问题.
当checkCaseOnly指令打开时,Apache列出了一些"多个选择"(状态代码300),这是意外(并且不想要)的行为!
我有这个httpd.conf
:
CheckSpelling on
CheckCaseOnly on
Run Code Online (Sandbox Code Playgroud)
使用mod_speling
第二个指令的第一个指令仅限于大小写修正
我究竟做错了什么?
我正在使用部署在Linux服务器上的网站.我对此做了一些小改动.我有文件夹read
.要求是,如果我输入网址localhost:80/tom/Read
或../READ
或/read
需要导航到read.php
一个内部read
文件夹.
我在根目录下创建了一个.htaccess文件.通过查看此处提到的页面,将以下代码放在文件 中
RewriteEngine On
RewriteBase /tom/
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ![A-Z] - [S=26]
RewriteRule ^(.*)(A)(.*)$ $1a$3 [N,R=301]
RewriteRule ^(.*)(B)(.*)$ $1b$3 [N,R=301]
RewriteRule ^(.*)(C)(.*)$ $1c$3 [N,R=301]
RewriteRule ^(.*)(D)(.*)$ $1d$3 [N,R=301]
RewriteRule ^(.*)(E)(.*)$ $1e$3 [N,R=301]
RewriteRule ^(.*)(F)(.*)$ $1f$3 [N,R=301]
RewriteRule ^(.*)(G)(.*)$ $1g$3 [N,R=301] …
Run Code Online (Sandbox Code Playgroud)