2016-07-19 7 views
0

Ich bin ehrlich gesagt so verloren, wie man das zur Arbeit bringt.Einrichten der .htaccess-Datei Apache

Ich habe Tage gesucht und überall scheint etwas anderes zu sagen und jetzt habe ich Dateien mit Zeilen hinzugefügt, die ich nicht einmal erinnern kann.

Alles, was ich will, ist die Erweiterung .php aus der URL zu entfernen .. Das ist es ..

Ich weiß, ich brauche eine .htaccess-Datei, aber ich weiß nicht, was genau zu schreiben. Das ist, was ich habe, so weit:

# Apache Rewrite Rules 
<IfModule mod_rewrite.c> 
Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

# Add trailing slash to url 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$ 
RewriteRule ^(.*)$ $1/ [R=301,L] 

# Remove .php-extension from url 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^([^\.]+)/$ $1.php 

# End of Apache Rewrite Rules 
</IfModule> 

habe ich versucht, die Datei zu ändern/etc/apche2/sites-enabled/000-Standard, aber das scheint nicht zu existieren. Es gibt eine Datei 000-default.conf stattdessen aber, und dies jetzt liest:

<VirtualHost *:80> 
# The ServerName directive sets the request scheme, hostname and port that 
# the server uses to identify itself. This is used when creating 
# redirection URLs. In the context of virtual hosts, the ServerName 
# specifies what hostname must appear in the request's Host: header to 
# match this virtual host. For the default virtual host (this file) this 
# value is not decisive as it is used as a last resort host regardless. 
# However, you must set it for any further virtual host explicitly. 
#ServerName www.example.com 

ServerAdmin [email protected] 
DocumentRoot /var/www/html 

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn, 
# error, crit, alert, emerg. 
# It is also possible to configure the loglevel for particular 
# modules, e.g. 
#LogLevel info ssl:warn 

ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 

# For most configuration files from conf-available/, which are 
# enabled or disabled at a global level, it is possible to 
# include a line for only one particular virtual host. For example the 
# following line enables the CGI configuration for this host only 
# after it has been globally disabled with "a2disconf". 
#Include conf-available/serve-cgi-bin.conf 

<Directory /var/www/html> 
      Options -MultiViews +FollowSymLinks 
      AllowOverride All 
      Order allow,deny 
      allow from all 
</Directory> 

</VirtualHost> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Ich kann mich nicht erinnern, ob ich etwas anderes geändert haben, aber es funktioniert nicht. Ich brauche nur jemanden, der mich durchgeht, welche Dateien geändert werden müssen und was zu tun ist, weil ich so lange Zeit verbracht habe und nichts getan habe.

Antwort

1

Um .php aus Ihrer URL zu entfernen alles, was Sie diese verwenden müssen, sollten ist:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

Bevor Sie dies testen, stellen Sie sicher, dass Sie Ihren Cache gelöscht haben.

Verwandte Themen