Localhostos Clean url (?q=)

Astutus képe

Üdv!

Localhoston telepítettem fel a Drupal 7-et, hosszú szenvedés után sikerült beállítgatni mindent, kivéve a clean url-eket. Utánaolvastam itt is meg sok más helyen, próbálgattam a .htaccess-t is, de vagy nálam nem működik valami rendesen vagy valamit rosszul csináltam. Ráadásul a beállításoknál hiába nyomkodom hogy tesztelje a rövid webcímeket mindig ugyanaz az oldal jön be és nincs semmilyen bejelölhető négyzetem hogy engedélyezem vagy sem. Apache-ban engedélyeztem a rewrite-ot. Le tudná esetleg valaki írni lépésről lépésre mit és hova kell másolni/áthelyezni, vagy van valami ilyesmi dokumentum, ami elkerülte a figyelmemet? A segítséget előre is köszönöm!

Drupal verzió: 
Paal képe

Milyen Apache, hogy engedélyezted? phpinfo() mit mod? Van mo_rewrite támogatás? Be van töltve a modul, stb.

0
0

--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan

Astutus képe

Sajnálom, most csinálom először (php, mysql, apache), eddig tárhely szolgáltatónál volt az oldalam, de bizonyos okok miatt saját gépre költöztettem és itt szeretném csinálni tovább. OpenSuSE-vel raktam fel mindent, a rewrite modult engedélyeztem az apache-ban és találtam valamilyen terminálos ellenőrzést is, arra is azt írta ki hogy engedélyezve van a rewrite_module.

Az adatok:
Op. rendszer: open SUSE 11.4
Apache: 2.2.17
phpMyAdmin: 3.3.10
Mysql: 5.0.7
Phpinfo:

System 	Linux Wolfsys 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64
Server API 	Apache 2.0 Handler
Virtual Directory Support 	disabled
Configuration File (php.ini) Path 	/etc/php5/apache2
Loaded Configuration File 	/etc/php5/apache2/php.ini
Scan this dir for additional .ini files 	/etc/php5/conf.d
Additional .ini files parsed 	/etc/php5/conf.d/bz2.ini, /etc/php5/conf.d/ctype.ini, /etc/php5/conf.d/curl.ini, /etc/php5/conf.d/dba.ini, /etc/php5/conf.d/dom.ini, /etc/php5/conf.d/ftp.ini, /etc/php5/conf.d/gd.ini, /etc/php5/conf.d/hash.ini, /etc/php5/conf.d/iconv.ini, /etc/php5/conf.d/json.ini, /etc/php5/conf.d/mbstring.ini, /etc/php5/conf.d/mcrypt.ini, /etc/php5/conf.d/mysql.ini, /etc/php5/conf.d/mysqli.ini, /etc/php5/conf.d/openssl.ini, /etc/php5/conf.d/pdo.ini, /etc/php5/conf.d/pdo_mysql.ini, /etc/php5/conf.d/pdo_sqlite.ini, /etc/php5/conf.d/sqlite.ini, /etc/php5/conf.d/sqlite3.ini, /etc/php5/conf.d/tokenizer.ini, /etc/php5/conf.d/xmlwriter.ini, /etc/php5/conf.d/zip.ini, /etc/php5/conf.d/zlib.ini
PHP API 	20090626
PHP Extension 	20090626
Zend Extension 	220090626
Zend Extension Build 	API220090626,NTS
PHP Extension Build 	API20090626,NTS
Debug Build 	no
Thread Safety 	disabled
Zend Memory Manager 	enabled
Zend Multibyte Support 	disabled
IPv6 Support 	enabled
Registered PHP Streams 	php, file, glob, data, http, ftp, compress.bzip2, https, ftps, zip, compress.zlib
Registered Stream Socket Transports 	tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters 	string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, bzip2.*, convert.iconv.*, mcrypt.*, mdecrypt.*, zlib.* 

Köszönöm!

0
0
pp képe

röviden:

1. Apacheban rewrite modult engedélyezni kell.
2. az adott könyvtárra be kell kapcsolni az AllowOveride All opciót
3. .htaccess fájl legyen a megfelelő helyen a könyvtárban

2-3 kihagyható, ha a .htaccess fájlban található szabályokat bemásolod a szerver virtualhost configjába.

pp
(ha valami nem világos akkor a fenti kulcsszavakat beírva a googleba szerintem könnyedén megtalálod)

0
0
Astutus képe

És pont itt van a hiba
1) ahány oldal, annyi leírás
2) hiába rakom, vagy írom át a .htacces-t, hiába módosítom a httpd.conf-ot sehogy sem sikerül
Kérésem az lett volna hogy ezeket a ki guglizható részeket AllowOverride All, meg a directory stb. hogyan kell pontosan és hova másolni, mert nekem ez nem megy. Próbáltam sokszor de sehogysem sikerült, ezért kértem a TI segítségeteket...

Azért hátha valaki megszán iderakom a .htacces és a httpd.conf szövegét. Tuti valamit én rontok el, de mivel először csinálom Veletek ellentétben én nem fogok rájönni, mi a bibi.

htacces.
 
#
# Apache/PHP/Drupal settings:
#

# Protect files and directories from prying eyes.
<FilesMatch "\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$">
  Order allow,deny
</FilesMatch>
 
# Don't show directory listings for URLs which map to a directory.
Options -Indexes
 
# Follow symbolic links in this directory.
Options +FollowSymLinks
 
# Multiviews creates problems with aliased URLs and is not needed for Drupal.
Options -Multiviews
 
# Make Drupal handle any 404 errors.
ErrorDocument 404 /index.php
 
# Force simple error message for requests for non-existent favicon.ico.
<Files favicon.ico>
  # There is no end quote below, for compatibility with Apache 1.3.
  ErrorDocument 404 "The requested file favicon.ico was not found.
</Files>
 
# Set the default handler.
DirectoryIndex index.php index.html index.htm
 
# Override PHP settings that cannot be changed at runtime. See
# sites/default/default.settings.php and drupal_initialize_variables() in
# includes/bootstrap.inc for settings that can be changed at runtime.
 
# PHP 5, Apache 1 and 2.
<IfModule mod_php5.c>
  php_flag magic_quotes_gpc                 off
  php_flag magic_quotes_sybase              off
  php_flag register_globals                 off
  php_flag session.auto_start               off
  php_value mbstring.http_input             pass
  php_value mbstring.http_output            pass
  php_flag mbstring.encoding_translation    off
</IfModule>
 
# Requires mod_expires to be enabled.
<IfModule mod_expires.c>
  # Enable expirations.
  ExpiresActive On
 
  # Cache all files for 2 weeks after access (A).
  ExpiresDefault A1209600
 
  <FilesMatch \.php$>
    # Do not allow PHP scripts to be cached unless they explicitly send cache
    # headers themselves. Otherwise all scripts would have to overwrite the
    # headers set by mod_expires if they want another caching behavior. This may
    # fail if an error occurs early in the bootstrap process, and it may cause
    # problems if a non-Drupal PHP file is installed in a subdirectory.
    ExpiresActive Off
  </FilesMatch>
</IfModule>
 
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on
 
  # Block access to "hidden" directories whose names begin with a period. This
  # includes directories used by version control systems such as Subversion or
  # Git to store control files. Files whose names begin with a period, as well
  # as the control files used by CVS, are protected by the FilesMatch directive
  # above.
  #
  # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is
  # not possible to block access to entire directories from .htaccess, because
  # <DirectoryMatch> is not allowed here.
  #
  # If you do not have mod_rewrite installed, you should remove these
  # directories from your webroot or otherwise protect them from being
  # downloaded.
RewriteRule "(^|/)\." - [F]
 
  # If your site can be accessed both with and without the 'www.' prefix, you
  # can use one of the following settings to redirect users to your preferred
  # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
  #
  # To redirect all users to access the site WITH the 'www.' prefix,
  # (http://example.com/... will be redirected to http://www.example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} !^www\. [NC]
  # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  #
  # To redirect all users to access the site WITHOUT the 'www.' prefix,
  # (http://www.example.com/... will be redirected to http://example.com/...)
  # uncomment the following:
  # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301]
 
  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
 
  # Pass all requests not referring directly to files in the filesystem to
  # index.php. Clean URLs are handled in drupal_environment_initialize().
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^ index.php [L]
 
  # Rules to correctly serve gzip compressed CSS and JS files.
  # Requires both mod_rewrite and mod_headers to be enabled.
  <IfModule mod_headers.c>
    # Serve gzip compressed CSS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.css $1\.css\.gz [QSA]
 
    # Serve gzip compressed JS files if they exist and the client accepts gzip.
    RewriteCond %{HTTP:Accept-encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -s
    RewriteRule ^(.*)\.js $1\.js\.gz [QSA]
 
    # Serve correct content types, and prevent mod_deflate double gzip.
    RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1]
    RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1]
 
    <FilesMatch "(\.js\.gz|\.css\.gz)$">
      # Serve correct encoding type.
      Header append Content-Encoding gzip
      # Force proxies to cache gzipped & non-gzipped css/js files separately.
      Header append Vary Accept-Encoding
    </FilesMatch>
  </IfModule>
</IfModule>
 
# $Id: .htaccess,v 1.111 2010/11/23 02:59:05 dries Exp $

httpd.conf - az elején található kikommentált részt kihagyom hogy nelegyen olyan hosszú
 
 
 
# run under this user/group id
Include /etc/apache2/uid.conf
 
# - how many server processes to start (server pool regulation)
# - usage of KeepAlive
Include /etc/apache2/server-tuning.conf
 
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
ErrorLog /var/log/apache2/error_log
 
# generated from APACHE_MODULES in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/loadmodule.conf
 
# IP addresses / ports to listen on
Include /etc/apache2/listen.conf
 
# predefined logging formats
Include /etc/apache2/mod_log_config.conf
 
# generated from global settings in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/global.conf
 
# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
 
# optional cookie-based user tracking
# read the documentation before using it!!
Include /etc/apache2/mod_usertrack.conf
 
# configuration of server-generated directory listings
Include /etc/apache2/mod_autoindex-defaults.conf
 
# associate MIME types with filename extensions
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf
 
# set up (customizable) error responses
Include /etc/apache2/errors.conf
 
# global (server-wide) SSL configuration, that is not specific to 
# any virtual host
Include /etc/apache2/ssl-global.conf
 
# forbid access to the entire filesystem by default
<Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
 
# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
 
# List of resources to look for when the client requests a directory
DirectoryIndex index.html index.html.var
 
### 'Main' server configuration #############################################
#
# The directives in this section set up the values used by the 'main'
# server, which responds to any requests that aren't handled by a
# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
#
# All of these directives may appear inside <VirtualHost> containers,
# in which case these default settings will be overridden for the
# virtual host being defined.
#
Include /etc/apache2/default-server.conf
 
 
# Another way to include your own files
#
# The file below is generated from /etc/sysconfig/apache2,
# include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
# APACHE_CONF_INCLUDE_DIRS
Include /etc/apache2/sysconfig.d/include.conf
 
 
### Virtual server configuration ############################################
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
Include /etc/apache2/vhosts.d/*.conf
 
 
# Note: instead of adding your own configuration here, consider 
#       adding it in your own file (/etc/apache2/httpd.conf.local)
#       putting its name into APACHE_CONF_INCLUDE_FILES in 
#       /etc/sysconfig/apache2 -- this will make system updates 
#       easier :) 
0
0
Astutus képe

Végül csak sikerült :)

0
0
pp képe

Leírod hogyan?
Esetleg azt is megmondod, hogy milyen verziókat használsz? (oprendszer, webszerver)

pp

0
0
Astutus képe

Második kérdésre a második hozzászólás a válasz (lásd fentebb) :-)
Az elsőre: nem tudom pontosan a választ :-) , annyit sikerült kiderítenem, hogy a .htaccess nem érdekes számára, ezért az etc/apache2/httpd.conf file-t csépeltem. Bár nem vagyok meggyőződve hogy ez okozta a csodát, de a guglis sorokat beraktam így:

<Directory /srv/www/htdocs/drupal>
   RewriteEngine on
   RewriteBase /drupal
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</Directory>
<Directory /srv/www/htdocs/drupal>
   Options None
   AllowOverride All
   Order deny,allow
   Allow from all
</Directory>

Egyébirányban ebből állt a kérdésem, hogy a fentebb leírt kódot (első részt) hová kell beilleszteni. Plusz mint azt leírtam már, zavaró volt hogy nem volt semmilyen gomb se és mindenhol úgy írtak hogy van gomb csak szürke és nem lehet engedélyezni. Aztán nekem is lett gomb és tudtam engedélyezni (bár piszkáltam mást is, és ha a fentebbi kód biztosan nem tehetett csodát(?)(gomb megjelenése), akkor azokat is ideírom majd...)

0
0
Astutus képe

php 5.3.5

0
0