簡體   English   中英

htaccess規則在從httpd.conf中運行時不起作用

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM