Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Url重写用于隐藏文件夹名称并在没有文件夹名称的情况下打开它_Php_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

Php Url重写用于隐藏文件夹名称并在没有文件夹名称的情况下打开它

Php Url重写用于隐藏文件夹名称并在没有文件夹名称的情况下打开它,php,.htaccess,mod-rewrite,url-rewriting,Php,.htaccess,Mod Rewrite,Url Rewriting,我在根目录中使用了我的所有uls,现在我无法更改所有uls,因此我需要重写我的主url,该url隐藏文件夹名称,如果有人打开该域,则必须打开保存在该文件夹中的数据,但文件夹名称不应显示在url中,即我有此url .我想把这个改成 但它应该自动获取foldername数据。这是如何实现的 通过使用“.htaccess”文件 这是我当前使用的.htaccess文件在root.htaccess中保留此规则: RewriteEngine On RewriteRule ^(?!foldername/

我在根目录中使用了我的所有uls,现在我无法更改所有uls,因此我需要重写我的主url,该url隐藏文件夹名称,如果有人打开该域,则必须打开保存在该文件夹中的数据,但文件夹名称不应显示在url中,即我有此url

.我想把这个改成

但它应该自动获取foldername数据。这是如何实现的 通过使用“.htaccess”文件


这是我当前使用的.htaccess文件

在root.htaccess中保留此规则:

RewriteEngine On

RewriteRule ^(?!foldername/)(.*)$ foldername/$1 [L,NC]
然后在
/fodlername/.htaccess
中使用此简化代码:

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

将此规则保留在root.htaccess中:

RewriteEngine On

RewriteRule ^(?!foldername/)(.*)$ foldername/$1 [L,NC]
然后在
/fodlername/.htaccess
中使用此简化代码:

DirectoryIndex index.php
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

像这样更改
.htaccess
文件

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /foldername/
RewriteCond %{HTTP_HOST} ^(www\.)?yoursite.com$
RewriteRule ^foldername/(.*) /$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?yoursite.com$
RewriteRule !^foldername/ foldername%{REQUEST_URI} [L]

像这样更改
.htaccess
文件

RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET\ /foldername/
RewriteCond %{HTTP_HOST} ^(www\.)?yoursite.com$
RewriteRule ^foldername/(.*) /$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?yoursite.com$
RewriteRule !^foldername/ foldername%{REQUEST_URI} [L]


这个通道在哪里?它在
/foldername/
内吗?这可能会对您有所帮助。看一看——是的。你是对的,所以我可以创建一个新的htaccess文件来解决我的问题,这个文件可以保留为@anubhava。这个htaccess可以在
foldername
中使用,但是你需要在rootYes@anubhava中使用另一个htaccess,那么你能告诉我如何实现这个目标吗。另一个htaccess没有问题此htaccess位于何处?它在
/foldername/
内吗?这可能会对您有所帮助。看一看——是的。你是对的,所以我可以创建一个新的htaccess文件来解决我的问题,这个文件可以保留为@anubhava。这个htaccess可以在
foldername
中使用,但是你需要在rootYes@anubhava中使用另一个htaccess,那么你能告诉我如何实现这个目标吗。另一个htaccess没有问题我已经为根文件添加了您的代码,但是对于folderfile,我必须用我的代码替换您的代码,或者将其附加到我的代码中。你能把这个添加到我的htaccess文件吗。这将非常有帮助。您可以用我建议的
/fodlername/.htaccess
替换所有有问题的.htaccess代码。此服务器上找不到请求的URL/index.php。此外,在尝试使用ErrorDocument处理请求时遇到404 not found错误。Apache/2.4.10(Unix)OpenSSL/1.0.1e-fips mod_bwlimited/1.4 PHP/5.5.19服务器位于rustagisamaj.com端口80“我需要脱机进行一些工作,一小时后就会参加。我认为您需要编辑已经给定条件的文件。我已经为根文件添加了代码,但对于folderfile,我必须用我的代码替换您的代码或将其附加到我的代码中。你能把这个添加到我的htaccess文件吗。这将非常有帮助。您可以用我建议的
/fodlername/.htaccess
替换所有有问题的.htaccess代码。此服务器上找不到请求的URL/index.php。此外,在尝试使用ErrorDocument处理请求时遇到404 not found错误。Apache/2.4.10(Unix)OpenSSL/1.0.1e-fips mod_bwlimited/1.4 PHP/5.5.19服务器位于rustagisamaj.com端口80“我需要脱机进行一些工作,一小时后就会参加。我认为您需要编辑已经给出了某些条件的文件。虽然此代码可以回答问题,但最好包含一些上下文,解释它如何工作以及何时使用。从长远来看,纯代码答案是没有用的。你说得对。但是如果问题不清楚,问题也没有重复,例如,这里有很多人询问这个问题,但他们将特定目录中的所有内容重定向到父目录或根目录,但这里的区别是他想要阻止直接浏览原始路径,当他们探索它时,它将被隐藏,因此,从上面的讨论中,我认为提问者知道他需要什么,所以我不加评论地写了它,谢谢你的评论。答案也应该能够帮助其他人解决同样的问题,而不仅仅是最初的提问者,记住这一点;)虽然这段代码可以回答这个问题,但最好包含一些上下文,解释它是如何工作的以及何时使用它。从长远来看,纯代码答案是没有用的。你说得对。但是如果问题不清楚,问题也没有重复,例如,这里有很多人询问这个问题,但他们将特定目录中的所有内容重定向到父目录或根目录,但这里的区别是他想要阻止直接浏览原始路径,当他们探索它时,它将被隐藏,因此,从上面的讨论中,我认为提问者知道他需要什么,所以我不加评论地写了它,谢谢你的评论。答案也应该能够帮助其他人解决同样的问题,而不仅仅是最初的提问者,记住这一点;)