Fehler 404 auf virtuellen Hosts, die benutzerdefinierte .htaccess-Dateien verwenden
P粉729198207
P粉729198207 2023-09-05 10:28:49
0
2
692
<p>Ich habe Apache2 auf meinem lokalen Linux-Server installiert. Es verfügt über einen virtuellen Host mit dem Namen <code>pcts.local</code> und sein Stammverzeichnis ist <code>/var/www/repos/pcts/</code>. Im Stammverzeichnis von pcts.local befindet sich eine .htaccess-Datei, die versucht, die URL so umzuschreiben, dass sie .php enthält, wenn sie nicht wie folgt angegeben ist: </p> <pre class="brush:php;toolbar:false;">http://pcts.local/ -> http://pcts.local/contact -> http://pcts.local/contact.php</pre> <p>Das Problem ist, dass <code>http://pcts.local/contact</code> den Fehler 404 ausgibt, aber <code>http://pcts.local/contact.php</code> von 200. </p> <h3>Konfiguration des virtuellen Hosts: </h3> <pre class="brush:php;toolbar:false;"><VirtualHost *:80> Servername pcts.local ServerAdmin webmaster@localhost DocumentRoot /var/www/repos/pcts Fehlerprotokoll ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log kombiniert </VirtualHost></pre> Die Datei <h3>.htaccess befindet sich in <code>/var/www/repos/pcts/</code></h3> <pre class="brush:php;toolbar:false;">RewriteEngine Ein RewriteBase/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ $1.php [NC,L]</pre> <p>Vielen Dank im Voraus für Ihre Hilfe! </p>
P粉729198207
P粉729198207

Antworte allen(2)
P粉151720173

在您的代码中,REQUEST_FILENAME 需要一个带有 php 扩展名的文件来执行重写。

试试这个:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
P粉009828788

如果这是您的完整配置,则您的 .htaccess 文件不会被处理。

您尚未启用特定目录的 .htaccess 覆盖。 (即,您尚未启用 .htaccess 文件的解析。)默认情况下,.htaccess 覆盖处于禁用状态。

但是,您也没有启用对文件系统此区域的访问?您是否在服务器配置的其他地方完成了此操作?!

您应该在 容器内有一个相关的 部分,如下所示:

<Directory /var/www/repos/pcts>
    # Enable .htaccess overrides
    AllowOverride All

    # Allow user access to this directory
    Require all granted
</Directory>

如果需要,您可以进一步限制 .htaccess 覆盖(请参阅下面的参考链接)

参考:

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage