好的,我在这里一无所知......
我需要将目录结构及其中的所有子目录重写到同一服务器中的目录,但是在目录之前的根目录。
例如:
http://www.mydomain.com/Themes/default/css/folder
在文件夹之后调用所有目录。例如folder/sub_folder
或folder/afolder/anotherfolder
,它需要在folder
目录中包含所有子目录。
应重定向到:
http://www.mydomain.com
如何通过folder
路径http://www.mydomain.com/Themes/default/css/folder
中的.htaccess文件执行此操作?
请有人帮忙。
谢谢你们:)
当通过PHP调用时,目录结构中的文件仍然需要可以访问该结构,但我不希望人们能够浏览到http://www.mydomain.com/Themes/default/css/folder
并显示该文件夹路径中的所有子目录和/或所有的文件。对于该文件夹路径后面的所有子目录也是如此。
我希望能够将.htaccess文件放在服务器上的http://www.mydomain.com/Themes/default/css/folder
目录中,但不确切知道要使用哪种代码。
另外,更具挑战性......域名可以更改,所以我宁愿不在.htaccess文件中使用域名,而是使用..或。上一个目录或在.htaccess文件中获取域名的另一种方法。
答案 0 :(得分:2)
在/Themes/default/css/folder
中创建一个.htaccess文件并将这些行放在那里(它需要mod_rewrite ):
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ http://%{HTTP_HOST}/ [R=301,L]
它会将所有请求重定向(301永久重定向)到文件夹到主页。如果请求了文件,它将允许它。
如果您想让它适用于文件夹和文件,请删除RewriteCond
行 - 它会将所有请求(即使是不存在的网址)重定向到主页
如果您在创建此类文件后会看到“500 Internal Server Error”,则是您的服务器配置:可能未启用mod_rewrite或其指令(RewriteRule, RewriteCond,RewriteEngine)不允许放在.htaccess中。在任何情况下 - 检查Apache的错误日志以获取确切的错误消息(它会给出确切的原因)。
答案 1 :(得分:0)