我正在使用 LARAVEL 5.3 应用程序并尝试将所有请求重定向到index.php
而不是index.php
例如:如果有人进入example.com/index.php/some-uri-segments
,
它应该重定向到example.com/some-uri-segments
。
我已成功实现了以下代码:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
#index.php to normal
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^index.php(.*)$ $1 [R=301,L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
但是当链接为example.com/index.php
时会出现问题。
example.com/index.php
的请求被重定向到example.com/var/www/html/public
但我希望将其重定向到example.com
。
答案 0 :(得分:0)
您的代码中缺少/
。试试这个:
RewriteCond %{THE_REQUEST} ^.*/index\.php
RewriteRule ^index.php(.*)$ /$1 [R=301,L]