仅访问mydomain_name / filename.html

时间:2017-08-29 13:56:03

标签: php html .htaccess

我需要拒绝所有排除网址的访问权限:

mydomainname / filename.html

并将此请求重定向到:

mydomainname /的index.php?页= filename.html

用户应该在地址栏中看到:

mydomainname / filename.html

我希望所有样式和js脚本都能正常工作。

我该怎么做?

我正在尝试这个:

ErrorDocument 404 /
ErrorDocument 403 /

RewriteEngine On
RewriteBase /

RewriteRule ^(\w+)(?=\.).html$ index.php?page=$1.html

#if the request is for existent dirs, forbid the request
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !^/?$
RewriteRule ^ - [R=403,L]

RewriteCond %{REQUEST_URI} !^/?$    
RewriteRule !^index.php$ - [R,F,L]

Options All -Indexes

我的服务器错误500。

没有"选项All -Indexes" js文件无法加载,样式也无法正常工作。

2 个答案:

答案 0 :(得分:0)

所以,我最后的.htaccess文件:

RewriteEngine On

ErrorDocument 403 http://mydomainname
ErrorDocument 404 http://mydomainname

# Don't show directory listings for URLs which map to a directory.
Options -Indexes
# Set the default handler.
DirectoryIndex index.php

# Internal redirect
RewriteRule ^(\w+)(?=\.).html$ index.php?page=$1.html

# Pass all requests not referring directly to files in the filesystem to
# index.php. Clean URLs are handled in drupal_environment_initialize().
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ / [L,R]

此解决方案不拒绝访问mydomainname / include / myfile.php(如果此文件存在),但它涵盖了所有其他问题。

答案 1 :(得分:-1)

在.htaccess文件中搜索重写条件。你会得到一个想法。或者添加RewriteRule ^(。*)。(gif | jpg | png | jpeg | css | js | swf)$ /public/$1.$2 [L,NC] this。