问题标签 [mod-speling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - mod_speling & mod_rewrite 一起工作?
( CheckSpelling On
mod_speling) 在www.example.com
. 但是当重写发生时它不起作用。例如有一个/home/test/www/index.html
文件。如果你这样做test.example.com/INDEX.html
,它不会修复,test.example.com/index.html
但如果你这样做www.example.com/INDEX.html
(没有/home/www/
文件夹),它会将它修复为www.example.com/index.html
.
似乎它首先通过 mod_rewrite 处理,如果它使用 rewrite,它不会通过检查拼写。我试过以不同的顺序加载模块,但没有成功。
apache - Apache mod_speling 不区分大小写的 URL 问题
我想使用 Apache 的模块使用不区分大小写的 URL mod_speling
,但这会产生不需要的“多个选项”列表,而 Apache 文档说
设置后,此指令将拼写更正的操作限制为小写/大写更改。不执行其他可能的校正。
我正在 Apache 2.2.16 Unix 全新安装上对此进行测试,但我仍然遇到与 2008 年提交的完全相同的问题。
当 checkCaseOnly 指令打开时,Apache 列出了一些“多项选择”(状态代码 300),这是意外(并且不想要)的行为!
我有这个httpd.conf
:
第一个使用 的mod_speling
指令,第二个指令仅限于大小写更正
我究竟做错了什么?
mod-rewrite - mod_speling 内部重定向,或如何使用 mod_rewrite 处理大写字母
我有这个规则:
这个想法是允许访问存在于代码模块中的公共资产。唯一的问题是命名方案需要标题大小写(假设这是不可更改的)。因此,请求:
返回 404,但是:
作品。
我尝试使用 mod_speling 来处理大小写问题,但是 mod_speling 执行的是完全重定向而不是内部重定向,因此最终用户的 URL 更改为:
这不好。这意味着我的目录结构有些暴露,这意味着我需要一个额外的重写规则来通过它。
有什么方法可以更优雅地处理 mod_rewrite 中的大写,即不使用 RewriteMap?(需要将所有内容保存在 .htaccess 中)
或者,有没有办法改变 mod_speling 以使用内部重定向?
php - 指向新 Drupal 站点的大写外部链接获得 404
我有一个相当大的网站,网站建设者将所有内部路径自动设置为小写(在页面本身、菜单等中)。目前,在新的 D7 版本站点中,我们有其他站点链接到数百到可能 1,000 多个节点的旧(大写)版本。
所以一个链接可以http://www.example.com/alzheimers
正常工作,但如果我手动输入,http://www.example.com/Alzheimers
我会被带到我们的自定义 404(我们的 Drupal 主题显示消息)。这是一个问题,因为它是一个具有大量指向旧 URL 的外部链接的高知名度网站。
网站建设者还试图手动输入/Alzheimers
→的重定向/alzheimers
,当然,这会造成无限的重定向循环、黑洞、僵尸战争等。
我试图用 apache“mod_speling”来处理这个问题,但没有成功,尽管我对这个 mod 没有丰富的经验。我想知道我是否可能遗漏了什么/是否需要特定的大写更改规则?我遵循的说明让我启用了 mod 并重新启动 Apache。它没有帮助。
所以我想知道我是否需要连接到主题(hook_init
?)来获取请求的 URL 并输入一些 PHP 来将字符串设置为更低。有任何想法吗?我对它进行编码没有任何问题,但如果有更简单的方法来处理它,任何帮助将不胜感激。
因为这对于任何为 Windows 编写并通常转移到 Drupal 或 LAMP 的网站来说都是一个典型问题,所以我不可能是第一个需要解决这个问题的人。
如果需要自定义 Drupal 代码,最好将它挂在哪里?
apache - mod_speling 未按预期启用不区分大小写
我在两个单独的 VPS 帐户上运行 Ubuntu 12,并且在这两个帐户上都遇到了同样的问题。
我已经通过“a2enmod 拼写”启用了拼写模块。
我在 /etc/apache2/mods-available 中有 speling.load 和 speling.conf,它们都在 /etc/apache2/mods-enabled 中有别名。
cat speling.conf
产生“CheckSpelling on”,并cat speling.load
给出“LoadModule speling_module /usr/lib/apache2/modules/mod_speling.so”我还验证了 /usr/lib/apache2/modules/ 确实包含“mod_speling.so”。
我反复重启了 Apache。
然而 - 如果我在 URL 中错误地大写了一个单词,我会得到一个 404。“CheckSpelling on”不是要消除这个吗?也许我误解了。
我确信我错过了一些愚蠢的步骤,但想不出是什么。
apache - Apache mod_speling 错误地“纠正”URL?
我的任务是将旧的动态网站从 Windows 服务器迁移到 Linux。该网站最初是在不考虑字符大小写的情况下编写的。有些文件名都是大写的,有些是小写的,有些是混合的。当然,这在 Windows 中从来都不是问题,但现在我们正在转向区分大小写的文件系统。
带有快速查找/重命名命令(感谢另一个教程)的文件名全部小写。
但是,代码中的许多 URL 引用仍然指向这些大小写混合的文件名,因此我启用了 mod_speling 来克服这个问题。它似乎在大多数情况下都可以正常工作,除了一页:我有一个文件名haematobium.html
,每次链接指向 时,它都会像在浏览器中.../haematobium.html
一样被重写。.../hæmatobium.html
我不知道这个奇怪的字符最初是如何进入文件名的,但我已将 HTML 文档中的代码更正为现在链接到haematobium.html
,然后重命名haematobium.html
文件本身以匹配。
.../haematobium.html
在 Chrome 中请求时,它会.../hæmatobium.html
在地址栏中“更正”为,并显示错误消息“.../hæmatobium.html
在此服务器上找不到请求的 URL”。
在 IE9 中,提示我登录(这是一个受 .htaccess 保护的页面),我输入它,然后如果将 URL 转发到.../h%C3%A6matobium.html
,它又不会加载。
在我的挫败感中,我什至都复制haematobium.html
到了这三个页面hæmatobium.html
,hæmatobium.html
但实际上这三个页面都没有加载。
所以我的问题是:我在某处读到 mod_speling 试图“学习”拼写错误的 URL。它是否真的重命名了文件(奇怪的字符可能来自哪里)?它是否保留了所要求的缓存以及转发到的缓存(我可以清除的缓存)?
PS。还有许多对 MySQL 数据库表和字段的混合大小写引用,但这完全是“另一个噩梦”。
apache - 如何在 Linux 服务器中使 URL 不区分大小写
我正在开发一个部署在 Linux 服务器上的网站。我对此有一些小的改动。我有文件夹read
。要求是,如果我输入 URL ,或者localhost:80/tom/Read
它需要导航到文件夹内部。../READ
/read
read.php
read
我在根目录下创建了一个文件 .htaccess 。通过查看此处提到的页面,在文件中放置以下提到的代码
但它不起作用。
我是 Linux 环境的新手。我不知道 mod_speling。那是一个文件吗?它将位于 Linux 服务器的哪个位置?
.htaccess - Is this how to use mod_speling?
I had my VPS host enable mod_speling, but I'm not sure it's working, and just wanted to check with you guys that I've got the right idea about it.
I have URLs on the server like this:
People that type URLs using all lower case are getting 404 errors, so I figured enabling mod_speling would fix it. This is what I have in .htaccess:
Should this be working?
apache - Apache mod_speling PHP 框架
我启用了 Apache 的 mod_speling 模块,但无法让小写 URL 正常工作。这是在 Ubuntu 上运行的。
例子:localhost/controller
文件名为Controller.php
.
当我输入localhost/Controller
.
有没有办法设置 Apache 使用小写版本?
我对 mod_speling 的配置:
wordpress - .htaccess、WordPress 和 mod_speling
我有一个服务器,它的根目录中有一堆子目录,其中一个有一个 WordPress。
除了 WordPress 之外,所有这些都从 Windows 服务器迁移到 Linux 服务器,这意味着我们已经失去了不区分大小写的功能。
我希望 WordPress 能够提供类似的 URL http://www.example.com/~subdomain
,因此根目录中有一个索引文件。我还有两个 .htaccess 文件,一个在 WordPress 中,一个在根目录中。
以下是根目录的.htaccess。这是我想放置 mod_speling 的不区分大小写指令的地方,但它与重写规则相冲突。
下面是 WordPress 子目录的 .htaccess
我尝试在根目录中使用符号链接指向 WordPress 目录的 index.php。我将符号链接设置为 DirectoryIndex,但不幸的是它导致很多链接变成 404。
在这一点上,我有点卡住了。有任何想法吗?