我需要拒绝所有排除网址的访问权限:
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文件无法加载,样式也无法正常工作。
答案 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。