我制作了http://localhost/index.php/add/
这样的网址index.php之后的/ add /后面是$ _SERVER ['PATH_INFO'],可用于PHP编码。
我想使用.htaccess从此网址中删除.php,并且仍然继续使用$ _SERVER ['PATH_INFO'],无论段有多少。
例如,
http://localhost/index.php/add/cars/
http://localhost/index.php/add/cars/japan/
http://localhost/index.php/add/cars/japan/tokyo/
我还想在结尾处使用尾部斜杠,如上例所示。
我可以使用下面的脚本删除.php扩展名,但我还需要更多。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
答案 0 :(得分:2)
您可以使用:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index(/.+)?$ index.php$1 [NC,L]
如果您还使用其他名称(并非总是index
)。改变最后一行:
RewriteRule ^([^/.]+?)(/.+)?$ $1.php$2 [L]
答案 1 :(得分:0)
试试这个
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]