我正在努力从主目录和我的所有子目录中删除.php,但它不起作用。我使用了以下代码。 如果我仍然使用/test.php输入地址目录中的文件,我怎么能将它重定向到/ test。 以下没有任何作品。也是public_html文件夹或根目录上的htaccess文件?
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on RewriteEngine On RewriteBase /
## hide .php extension snippet
# 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]
但是在我的子目录中,我有像下面这样的mysql链接的htaccess,它可以工作。
RewriteEngine On
RewriteRule ^test\/([0-9]+)$ test.php?id=$1
答案 0 :(得分:0)
有关.htaccess
文件放置位置的问题,请参阅此处列出的内容:
关注 Mod Rewrite ,.htaccess
文件的位置与用于网址重写的条件和规则之间存在关系 Mod Rewrite < / em>的。这由
但是在您的示例中,它更为简单:使用%{REQUEST_URI}
代替%{THE_REQUEST}
。它更容易解析(检查)和查询字符串与它分离。