创建临时重定向,将“index.php”添加到url中

时间:2015-06-13 23:46:11

标签: regex apache .htaccess mod-rewrite redirect

如果用户请求此页面:

example.com/asdf/jkl?qwer=ty

我希望他们重定向到

example.com/index.php/asdf/jkl?qwer=ty

我相信307可能是适当的状态代码。 我只需要在每个请求的域名后添加“index.php”。 但是......页面上的图片仍然可以在example.com/image/asdf.jpg找到。我不知道.htaccess指令是否会影响内联资源请求,但我不需要它。

我需要这个的原因是我们的网站有a problem,要求我们在网址中添加“index.php”。希望我们能尽快修复它。但与此同时,我们的Google索引搜索结果导致了404错误。

编辑:

我试过了:

RewriteBase /
RewriteRule ^/index - [L] # stop rule processing if request already starts with "index.php"
RewriteRule ^(.*) index.php/$1 [L,R]

example.com/asdf/jkl上对此进行测试,结果为example.com/index.php/index.php/index.php/.../index.php/asdf/jkl,其中“index.php”重复了很多次。有时我也会收到有关重定向循环的消息。

1 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?!index.php/).*)$ index.php/$1 [L,NC]