htaccess规则将双斜杠视为单一

时间:2015-02-27 05:30:02

标签: .htaccess codeigniter mod-rewrite

我正在使用codeigniter构建的项目。我犯的错误是我添加了" /"在许多链接(href)中的base_url()方法之后,我已经给出了项目文件,如下所示。

<? echo base_url();?>/about

所以URLS看起来像

http://myproject.com//about

取代

http://myproject.com/about

正因为如此,导致404错误。

现在的情况是网站已经准备就绪,但我只能更新项目的.htaccess文件来解决这个问题。

那么我可以在.htaccess文件中编写任何规则,以便将URL中的双斜杠视为单斜杠并打开特定页面吗?

有趣的是,它已经在某种程度上考虑双斜线作为单斜线并打开&#34;关于&#34;开发服务器上的页面。但是现在随着服务器的改变,我开始面对404问题了。

2 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中将此规则用作非常第一规则,以删除多个//

RewriteEngine On

RewriteCond %{THE_REQUEST} //
RewriteRule ^(.+?)/?$ /$1 [R=302,L,NE]

答案 1 :(得分:0)

实际上您已将基本网址设置为

$config['base_url'] = 'http://myproject.com/';

当你像这样使用它时

<? echo base_url();?>/about

它正在添加//所以您必须像这样更改您的网页

 <? echo base_url();?>about

如果您无法更改路径,则可以将htaccess设置为

RewriteEngine On

RewriteCond %{THE_REQUEST} //
RewriteRule ^(.+?)/?$ /$1 [R=302,L,NE]