gpt4 book ai didi

linux - Drupal 7 重写不使用 .htaccess

转载 作者:太空狗 更新时间:2023-10-29 11:19:46 29 4
gpt4 key购买 nike

我试图在不使用 .htaccess 文件的情况下启用 drupal 7 中的重写功能,因为只有在您没有服务器的根访问权限时才应使用它(根据 apache 的网站)

不多说了,这是我的配置

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com

DirectoryIndex index.php
DocumentRoot /var/www/example.com/public

ErrorDocument 404 /index.php

LogLevel warn
ErrorLog /var/www/example.com/log/error.log
CustomLog /var/www/example.com/log/access.log combined

<Directory "/var/www/example.com/public">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ /index.php?q=$1 [L,QSA]
</Directory>
</VirtualHost>

重写配置在我将它放在 .htaccess 文件中时有效,但在我将其放入 vhost 文件中时无效。

你们能看出这里有什么问题吗?

最佳答案

我认为您的重写规则不应包含 '/'前缀现在它不再是 .htaccess 了。所以尝试:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

删除 .htaccess 引用是个好主意。你应该把 AllowOverride None<Directory /> 上指令,以便从文件系统的根目录开始。如果您认为您不需要 +ExecCGI还。如果您想在没有 .htaccess 的情况下更深入地了解 Drupal 的 apache 配置,请同时检查 this detailled resource .

关于linux - Drupal 7 重写不使用 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260424/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com