我正在尝试为我的网站设置网址重写,托管在1& 1上。
这是根目录(./)
上的.htaccessAddHandler x-mapp-php6 .html .htm
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^404$ /404.html [L]
ErrorDocument 404 /404
RewriteRule ^login$ /login.html [L]
RewriteRule ^register$ /register.html [L]
RewriteRule ^contact$ /contact.html [L]
RewriteRule ^admin$ /admin.html [L]
RewriteRule ^admin/user$ /administration/user.html [L]
RewriteRule ^admin/user/p/([0-9]+)$ /administration/user.html?p=$1 [L]
有一些奇怪的东西:
即使我更改了订单,或者我删除了行RewriteRule ^admin$ /admin.html [L]
并尝试访问website.com/admin或website.com/admin/user,我仍然拥有相同的页面(/admin.html如果url重写是在缓存中或者其他东西。
任何人都有线索?
答案 0 :(得分:1)
这很可能是由于在您的Apache主机上启用了MultiViews
。在.htaccess:
Options -MultiViews
MultiViews
使用选项Apache's content negotiation module
,它在mod_rewrite
之前运行,并使Apache服务器匹配文件扩展名。因此/file
可以在网址中,但它会投放/file.php
。