我有以下要求,我认为可以使用.htaccess文件完成。 的要求 -
隐藏URL中的文件夹名称和文件扩展名。 www.example.com/subfolder/subfolder1/file.php
应该成为www.example.com/file
限制文件夹浏览 - 我想在某人触发URL时限制文件夹浏览功能,例如。 www.example.com/subfolder
通常,通过触发此网址,用户可以浏览subfolder
的内容。通过触发此类URL或包含域example.com
的任何URL,例如。 www.example.com/folderNotExist
然后服务器应该重定向到索引页。
我能够限制文件夹浏览,但重定向到索引页面并隐藏文件夹和文件扩展名不起作用。
答案 0 :(得分:1)
您可以在根目录中使用这些规则.htaccess:
ErrorDocument 404 /
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{THE_REQUEST} /subfolder/subfolder1/ [NC]
RewriteRule ^ / [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/subfolder/subfolder1/$1.php -f
RewriteRule ^(.+?)/?$ subfolder/subfolder1/$1.php [L]
答案 1 :(得分:0)
你应该尝试类似的东西:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)$ /subfolder/subfolder1/$1.php
ErrorDocument 404 /index.php
答案 2 :(得分:0)
你可以试试这个
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.mysample.com
RewriteRule ^subdir/(.*)$ http://www.mysample.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f