当php已被删除时重写索引

时间:2014-06-10 16:16:03

标签: php .htaccess

我的htaccess中有一个代码,可以从我网站上的每个页面中删除.php。以下代码就我而言,但我真正想要的是每个页面后面都有一个斜杠(仍然没有php) 并且de index(.php)名称被完全删除。

我在互联网上找不到这两个组合的东西。我确实找到了一个代码,在最后创建了一个斜杠但是在内部重定向时产生了许多问题。

所有这些都是可能的,如果可能,怎么样?

非常感谢,

Options +FollowSymLinks -MultiViews
RewriteEngine On

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

1 个答案:

答案 0 :(得分:0)

尝试:

Options +FollowSymLinks -MultiViews
RewriteEngine On

# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ /%1/ [R,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)index\.php [NC]
RewriteRule ^ /%1 [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+?)/?$
RewriteCond %{DOCUMENT_ROOT}%1.php -f
RewriteRule ^(.*?)/?$ /$1.php [L]