[英]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.