【问题标题】:url file path direct to rooturl 文件路径直接指向根目录
【发布时间】:2012-05-03 19:05:16
【问题描述】:

我希望我的域主页指向我正确的网站页面,而不显示所有文件路径。

目前我的结构设置为:

root/working_name/site_pages/homepage.php

root/working_name/site_pages/sitepage2.php

root/working_name/site_pages/sitepage3.php

我希望网址简单地说

root/homepage.php

root/sitepage2.php

root/sitepage3.php

我想避免更改我的任何实际文件夹和文件位置,因为这意味着我必须更改所有引用并且它可能会变得相当复杂。那么他们无论如何都要这样做吗?

【问题讨论】:

    标签: url url-rewriting url-routing


    【解决方案1】:

    如果您有权访问 .htaccess(在根文件夹中);你可以这样做

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ working_name/site_pages/$1    [QSA,L]    
     </IfModule>
    

    【讨论】:

    • 我正在做一些研究以了解 mod_rewrite。但所有对它的引用都说它是一个“基于 apache 的重写引擎”。那么这是否意味着它只能在我的本地主机上运行,​​或者我也可以在我的 Godaddy 网络服务器上使用它。
    • 是的 mod_rewrite 是一个 apache 模块;几乎所有的网络托管公司都支持它。与 godaddy 核对或仅使用此 并通过网络浏览器访问以查看所有 php/apache 模块
    • 好的。但是在 {REQUEST_FILENAME} 中应该有什么值,我要在根目录中输入我希望用户看到的文件名/地址吗?因此,例如,如果我希望用户看到 sitename.com/testingthis.php,我会在 request_filename 中编写 testingthis.php,我该如何说这需要重定向到哪个页面?
    • 您无需触摸,只需将其按原样添加到您的 .htacess 中即可。这允许您的访问者通过输入 /root/(whatever.php) 访问 /root/working_name/site_pages/(whatever.php)
    • 好的。我明白你的意思了。那行得通。谢谢!唯一的问题是现在我的相对文件路径无法正常工作。他们是解决这个问题的方法吗?无需更改文档的相对文件路径?
    猜你喜欢
    • 2012-08-28
    • 2021-01-13
    • 2012-05-27
    • 2015-12-21
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 2011-08-08
    相关资源
    最近更新 更多