Ini*_*igo 0 .htaccess redirect
我正在寻找一些帮助,在我的htaccess文件中设置一些重定向规则.我已将网站切换为在Codeigniter上运行,基本上所有以.php结尾的页面,现在只是删除了该结尾,即www.mysite.com/foo/bar.php现在www.mysite.com/foo/bar
我试过像这样列出重定向:
Redirect 301 http://mysite.com/foo/bar.php http://mysite.com/foo/bar
Redirect 301 http://mysite.com/foo/bar/bar.php http://mysite.com/foo/bar/bar
Redirect 301 http://mysite.com/foo/bar/foo.php http://mysite.com/foo/bar/foo
Run Code Online (Sandbox Code Playgroud)
等(需要大约12个规则).奇怪的是,它适用于第一条规则但不适用于其他规则?我没有正确列出它们吗?我读过的所有内容都告诉我这就是它的写作方式.那么我做错了什么?
可能相关的其他信息:
我的htaccess文件已经包含以下代码(用于从url中删除'index.php'):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
不确定重写之前或之后是否重要?此外,该网站是一个插件域.我不完全确定这些重写是否应该放在主站点的公共文件夹中的.htaccess文件中,还是放在插件域的子目录中?(我试过两个,结果相同).
请帮忙!提前致谢.
对不起,我刚刚解决了这个问题.我从每个规则中删除了基本URL,现在它可以正常工作.即:
Redirect 301 /foo/bar.php /foo/bar
Run Code Online (Sandbox Code Playgroud)
代替:
Redirect 301 http://mysite.com/foo/bar.php http://mysite.com/foo/bar
Run Code Online (Sandbox Code Playgroud)
不能确定为什么......需要阅读.