有没有办法在不使用mod_rewrite和.htaccess的情况下重写我的网址?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法在不使用mod_rewrite和.htaccess的情况下重写我的网址?相关的知识,希望对你有一定的参考价值。
有没有办法重写我的网址:
http://www.website.com/notification.php
至
http://www.website.com/notification
我没有权限打开mod_rewrite,我们的组织也不想要它。有没有办法用php实现这一点?
提前致谢
如果您只有几页,则可以重命名文件index.php
并将其移动到具有所需名称的目录中。
所以notification.php
成为notification/index.php
,你可以用网址/notification
或/notification/
访问它。
这种方法的缺点是,你得到一个混乱的文件夹结构,每个文件都被命名为index.php。你可以绕过后面的问题,如果你在每个文件夹中放置某种包装文件,它调用实际的脚本 - 但文件夹结构保持不变。
另一种方法是使用某些伪重写与?
开头的url。所以你可以调用访问你的文件,如website.com/?notification
。在这种情况下,您必须将所有路由逻辑放在位于index.php
的/
中。关于这一点的好处是,你的网址保持灵活,你不必创建一些奇怪的文件系统结构。不好的是,你必须在每个网址中保留问号。
pushState()接受三个参数:状态对象,标题(当前被忽略)和(可选)URL。
示例: -
网址: - http://www.website.com/notification.php
window.history.pushState('notification.php', 'Title', 'notification');
我相信你可以“简单地”做到这一点:
<Location "/notification">
SetHandler application/x-httpd-php
</Location>
如果你这样做,我希望你使用灵活的请求路由器,因为你将使用REQUEST_URI很多。由于apache不会费心寻找文件或其他任何东西AFAIK,所以你必须自己返回静态资源(图像,样式表,js等)。
无论如何,您似乎可以在.htaccess文件中使用它,因此您不需要打扰服务器的主配置。
见:https://httpd.apache.org/docs/2.4/mod/core.html#sethandler
以上是关于有没有办法在不使用mod_rewrite和.htaccess的情况下重写我的网址?的主要内容,如果未能解决你的问题,请参考以下文章
电脑中了病毒,word和execl等文件打不开,每个文件夹中都留下了一个README.hta文件,求救!!!
点击用户账户出现res://C:\WINDOWS\system32\nusrmgr.cpl/nusrmgr.hta有啥解决办法