Ik heb een probleempje met mod_rewrite. Ik gebruik Apache 2.2.3 onder Linux (zelf gecompiled met [url=http://www.sitemasters.be/tutorials/10/1/438/Webservers/LINUX_Apache,_Mysql,_Pgsql,_ftp,_php_(17_12_2k6)]deze tutorial[/url]). Ik wil de module mod_rewrite gebruiken, hoe kan ik die module activeren?
Er staat als het goed is gewoon een regel met iets van 'mod_rewrite' (staat er niet letterlijk in) in je httpd.conf.. Hier moet je dan inderdaad gewoon de '#' voor weghalen en klaar..
Ik zal vanmiddag eens kijken voor je als ik thuis ben.
Edit:
Ergens in httpd.conf staat een hele waslijst aan LoadModules, daar staat iets van mod_rewrite bij, zoek daar maar eens tussen.
Citaat:
Rens edit:
Voldemort zei al:
httpd.conf bevat niet eens het woord "mod_rewrite" en de enige module die ie laadt is de php4 module.
@Rens: die regel staat er ook niet letterlijk in, dat is het probleem ;)
@Voldemort: ik heb de regel gevonden:
LoadModule rewrite_module modules/mod_rewrite.so
Ow poep, er stond dus wel mod_rewrite in die regel, ik dacht van niet.. Die regel moet je in ieder geval wel hebben.
Als hij het woord "mod_rewrite" niet kan vinden, waarom zou mod_rewrite.so er dan wel staan?
Bevat "mod_rewrite", en zoals Voldemort het zegt, kan ik er uit opmaken dat hij precies op "mod_rewrite" heeft gezocht...
Wil dit dan zeggen dat ik die module gewoon niet heb / niet heb mee gecompiled? Hoe kan ik die installeren? In de source staat ie er wel bij, dus ik heb de source wel goed. Wat nu?
Ik weet niet of het in linux anders is, maar kijk eens in de map apache/conf en dan in het bestand httpd.conf, hier staat het bij windows tenminste in..
@Ultimatum: Het bestand httpd.conf staat op die locatie, maar zoals ik al zei staat er geen loadModule mod_rewrite of dergelijke in, enkel de PHP 4 module.
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Please read the file README.DSO in the Apache 1.3 distribution for more
# details about the DSO mechanism and run `apache -l' for the list of already
# built-in (statically linked and thus always available) modules in your Apache
# binary.
#
# Note: The order in which modules are loaded is important. Don't change
# the order below without expert advice.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
#LoadModule speling_module modules/mod_speling.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule php4_module "${path}/php/php4apache.dll"
LoadModule php5_module "${path}/php/php5apache.dll"
#
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
#
# The modules listed below, without a corresponding LoadModule directive,
# are static bound into the standard Apache binary distribution for Windows.
#
# Note: The order in which modules are loaded is important. Don't change
# the order below without expert advice.
#
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE, UPDATE THIS TOO!]
ClearModuleList
#AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_log_config.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
#AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_isapi.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_so.c
AddModule mod_setenvif.c
#AddModule mod_php4.c
AddModule mod_php5.c
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Please read the file README.DSO in the Apache 1.3 distribution for more
# details about the DSO mechanism and run `apache -l' for the list of already
# built-in (statically linked and thus always available) modules in your Apache
# binary.
#
# Note: The order in which modules are loaded is important. Don't change
httpd: Syntax error on line 42 of /opt/webserver/apache/conf/httpd.conf: Cannot load /opt/webserver/apache/modules/mod_rewrite.so into server: /opt/webserver/apache/modules/mod_rewrite.so: cannot open shared object file: No such file or directory
httpd: Syntax error on line 42 of /opt/webserver/apache/conf/httpd.conf: Cannot load /opt/webserver/apache/modules/mod_rewrite.so into server:/opt/webserver/apache/modules/mod_rewrite.so: cannot open shared object file: No such file or directory
Hoe installeer ik die module naar dat path? Volgens mij heb ik die module niet mee gecompiled, kan dat? Hoe compile ik hem dan wel mee (en installeer hem dus)?
@siliecom14: Dan weet ik niet echt hoe ik die moet configureren hoor (PHP & MySQL met Apache laten werken, etc). Ook de versies zijn niet wat ik zou willen (ik wil de versies gelijk houden aan die van m'n online hosting en die lopen soms wel wat achter). Dus dit is geen optie.
Let vooral op dat AllowOverride op All staat en niet op None. Dit toepassen op alle AllowOverride in die config.
herstart apache en hij zou het moeten doen Ik had ook het probleem dat hij me .htaccess niet wilde uitvoeren maar toch stond mod_rewrite.so in de modules map. En door die AllowOverride werkt hij nu terug.
Nu werkt het met die AllowOverride te veranderen naar All.
Ik heb openSUSE 10.2 (i386) met Linux 2.6.18.8 default.
Alleen nu maakt ie er een redirect van ipv het url zo te laten, kan dit ook opgelost worden?
Met redirect bedoel ik als ik /nieuws/1/ intyp er in m'n adressbalk dit komt: ?nieuwsid=1 en hij die pagina laadt. Op m'n online host doet ie dat niet, dan laat ie die /nieuws/1/ in de adressbalk staan en laadt ie ?nieuwsid=1. Kan dit opgelost worden?
<Directory "/home/quinten/www">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
<Directory "/home/quinten/www">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see