如何更改HTACCESS以指向我的项目所在的子文件夹

时间:2019-07-19 19:27:20

标签: php .htaccess

我在xampp根目录(rootFolder / myProjectName)的子文件夹中有一个项目。 好。但是我正在使用友好的URL。因此,例如,每当我要链接JS或CSS文件时,如果设置了以下内容:

<script type="text/javascript" src="/script.js"></script>

这是指向rootFolder / script.js而不是rootFolder / myProjectName / script.js!

好!我可以手动添加。。但是,以后,如果我将项目更改为另一个文件夹,甚至更改为根,我都将一个一个地更改!

如何使用htaccess将项目的基本文件夹设置为“ myProjectName”(或者,如果有更好的方法。)。

我的htaccess当前是这样的:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

这是因为我正在使用“ index.php”进行路由!但是有些页面被称为外部(http://localhost/myProjectName/html/pageName),如果没有手动设置“ [src =” ** myProjectName / ** script.js“],我将无法获得脚本来找到自己的方式!

1 个答案:

答案 0 :(得分:0)

您可以使用VirtualDocumentRoot用另一种方式完成此操作

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot /path_to_rootFolder/%0

    <Directory /path_to_rootFolder>
            Options +Indexes +FollowSymLinks +MultiViews
            AllowOverride All
            Require all granted
    </Directory>

    ErrorLog /path_to_logs/error_log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    # LogLevel debug

    LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    CustomLog "/path_to_logs/access_log" vcommon

然后将域名添加到您的主机文件中,例如“ test.loc”。在您的rootFolder中创建测试文件夹,Apache将查找测试文件夹。另外,当您需要新项目时,可以使用其他名称创建新文件夹,并将其新域添加到您的主机文件中。但是您的域名和文件夹名称应该相同。