使用.htaccess我解决了(例如)的网址转换:
(a)http://www.mydomain.ext/dir/myfile.php
至:
(b)http://www.mydomain.ext/dir/myfile
(删除.php)结束 . 但是,如果用户在网页输入中如(a)所示,则显示网址以便输入 . 我如何解决因为(a)网络服务器显示中的打字,如(b)中所示?我想到了从(a)到(b)的重定向,但不认为它是最好的解决方案,有什么建议可以解决它?非常感谢你的帮助 .
补充一点:尝试用一个具体的例子更好地解释这个问题 . 从.htaccess开始我有:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>
我用PHP解决了它:
$default_url = "http://".$_SERVER["HTTP_HOST"].$_SERVER
["REQUEST_URI"]; // display something as: http://www.mysite.ext/dir/filename.php
$canonical_url = str_replace(".php", "", "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]); // display something as: http://www.mysite.ext/dir/filename
if ( $default_url != $canonical_url ) {
header( 'Location: ' . $canonical_url, true, 301 );
}
我要求更新.htaccess代码以集成PHP脚本中描述的功能 . 我看了很多例子但没有解决它 . 非常感谢 .
1 回答
要将我的评论转换为答案,请在根目录中使用这些规则.htaccess: