[英]htaccess rules are not working while works from httpd.conf
我试图在我的Web根目录中设置一些规则。 / var / www / html /在此目录中,我在.htaccess文件中设置了一些规则。 该文件由ftp上传。 文件权限如下。
-rw-r--r-- 1 apache apache 363 Jun 17 15:27 /var/www/html/.htaccess
文件包含规则。
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|captcha|images|upload_image|thumbnail1|users_images|profile_pic|js|css|fonts|font-awesome|css_admin|font_admin|font_awesome_admin|images_admin|js_admin|facebook|twitter|google|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
但是当我在httpd.conf中设置相同的规则时,规则可以正常工作。
在httpd.conf中
<Directory /var/www/html>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|captcha|images|upload_image|thumbnail1|users_images|profile_pic|js|css|fonts|font-awesome|css_admin|font_admin|font_awesome_admin|images_admin|js_admin|facebook|twitter|google|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>
</Directory>
我无法获得htaccess文件的问题。 请在这里帮助我。
与htaccess
不同,在httpd.conf中,规则需要包含前导/
:
例如,
RewriteRule ^/(.*)$ /index.php?$1 [L]
我知道做错了什么。在httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
之前存在AllowOverride None,只是将其替换为AllowOverride All。
谢谢大家的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.