我有一个正在运行的网站。它开始使用url中的index.php。我已经删除了它,但为了不复制内容,我需要在仍然使用index.php的任何现有路径上进行301重定向。
我的.htaccess文件如下所示:
RewriteEngine on
RewriteCond $1 !^(index\.php|robots\.txt|public|)
# Prevent CI index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
RewriteRule ^register /index.php/register/ [L]
适用于domain.com/register
我如何才能将其获取至domain.com/index.php/register的301,但仍然只保留地址栏中的domain.com/register?
提前致谢。
答案 0 :(得分:1)
尝试将其添加到最顶层(位于RewriteEngine on
下方):
RewriteCond %{THE_REQUEST} \ /+index\.php([^\?\ ]*)
RewriteRule ^ /%1 [L,R=301]