我想将旧页面(如“index.php/sdasdasd/sdasda/”)重定向到它们的新内容。我正在使用 PHP 来执行此操作,因为数据存储在 MySQL 中。问题是当 url 以“index.php”开头时,它没有被重定向到正确的页面。在后台它应该调用:“index.php?url=index.php/sdasdasd/sdasda/”。如何在 .htaccess 中解决此问题?
RewriteEngine on
RewriteCond %{REQUEST_URI} !(/$|\.)
RewriteRule (.*) %{REQUEST_URI}/ [R=301,L]
RewriteRule ^(.*/)?\.svn/ - [F,L]
RewriteRule \.(gif|jpg|png|css|flv|js|swf|php)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.php)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_URI} !(\.)
RewriteCond %{REQUEST_URI} !(\.)
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} .*
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
如果您对此代码有任何其他改进,欢迎您提出更改建议。