Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: subdomena poprzez mod rewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
token85
Witam wszystkich. Mam mały problem z mod rewrite. Startuję właśnie ze stroną o tematyce sportowej, adres sporthelp.pl. Chciałem zrobić kilka działów na subdomenach, np forum. dodam że odwołanie do forum nie jest z adresu domena/forum/ , domena.forum.html .
Znalazłem w necie i na forach coś takiego
Kod
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} subdomena.domena.com
RewriteCond %{REQUEST_URI} !subdomena/
RewriteRule ^(.*)$ subdomena/$1 [L]


Niestety ten sposób u mnie nie działa(bądź ja nie potrafię go wykorzystać), posiadam serwer na az.pl.
Chciałbym wiedzieć jak to przerobić i dowiedzieć się, czy żeby to działało muszę ustawić najpierw w cpanel subdomenę, czy nie. A więc też, czy musi być katalog dla takiej subdomeny, czy taki sposób współgra z SEF. Dodam, że stronę postawiłem na joomla 1.5

struktura moich katalogów wygląda tak:

home/user_name/public_html/katalogi domen/





-----

dodam jeszcze, że mam możliwość puszczenia forum poprzez domena/forum/, problem w tym, czy zadziała to, jeśli wynika to z SEF, a nie rzeczywistego układu katalogów
Hekko
Najpierw musisz włączyć wildcard na serwerze. Jeśli nie masz takiej opcji w panelu administracyjnym, pisz do obsługi.
token85
ok, może opiszę to od początku, bo w poprzednim poscie nie byłem zbyt dokładny, dodam, że opisany sposób z wildcard nie zadziałał, ale to może przeze mnie, bo nie jestem specem od apache. To czy będzie to zrobione przez przekierowania, czy .htaccess nie ma znaczenia, chcę po prostu, żeby działało.

mam w cpanel w przekierowaniach opcję wildcard dla przekierować 301 i 302, ale może od początku:

obecnie linki do forum mają postać : http://sporthelp.pl/forum/ostatnie.html itd. itp.

mam w panelu użytkownika az.pl ustawioną subdomenę forum.sporthelp.pl , która nie jest wpisana w cpanelu jako subdomena.

Chciałbym, by po wpisaniu żeby wszystkie linki do forum były typu: forum.sporthelp.pl/LINK

Jeśli ma to jakieś znaczenie to dodam, że korzystam z SEF dla joomla, stąd też katalog /home/x06667xu/public_html/sporthelp.pl/forum w rzeczywistości nie istnieje, a jest aliasem.


Na koniec dodam, że .htaccess w głównym katalogu wygląda tak:



Kod
##

# @version $Id: htaccess.txt 21064 2011-04-03 22:12:19Z dextercowley $

# @package Joomla

# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.

# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

# Joomla! is Free Software

##



#####################################################

#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

#

# The line just below this section: 'Options +FollowSymLinks' may cause problems

# with some server configurations.  It is required for use of mod_rewrite, but may already

# be set by your server administrator in a way that dissallows changing it in

# your .htaccess file.  If using it causes your server to error out, comment it out (add # to

# beginning of line), reload your site in your browser and test your sef url's.  If they work,

# it has been set by your server administrator and you do not need it set here.

#

#####################################################



##  Can be commented out if causes errors, see notes above.

Options +FollowSymLinks



#

#  mod_rewrite in use



RewriteEngine On



########## Begin - Rewrite rules to block out some common exploits

## If you experience problems on your site block out the operations listed below

## This attempts to block the most common type of exploit `attempts` to Joomla!

#

## Deny access to extension xml files (uncomment out to activate)

#<Files ~ "\.xml$">

#Order allow,deny

#Deny from all

#Satisfy all

#</Files>

## End of deny access to extension xml files

# Block out any script trying to set a mosConfig value through the URL

RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode data within the URL

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

# Block out any script that includes a <script> tag in URL

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

# Block out any script trying to set a PHP GLOBALS variable via URL

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

# Block out any script trying to modify a _REQUEST variable via URL

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Return 403 Forbidden header and show the content of the root homepage

RewriteRule .* index.php [F]

#

########## End - Rewrite rules to block out some common exploits



########## Begin - Custom redirects

#

# If you need to redirect some pages, or set a canonical non-www to

# www redirect (or vice versa), place that code here. Ensure those

# redirects use the correct RewriteRule syntax and the [R=301,L] flags.

#

########## End - Custom redirects



#  Uncomment following line if your webserver's URL

#  is not directly related to physical file paths.

#  Update Your Joomla! Directory (just / for root)



# RewriteBase /



########## Begin - Joomla! core SEF Section

#

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

#

# If the requested path and file is not /index.php and the request

# has not already been internally rewritten to the index.php script

RewriteCond %{REQUEST_URI} !^/index\.php

# and the request is for root, or for an extensionless URL, or the

# requested URL ends with one of the listed extensions

RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC]

# and the requested path and file doesn't directly match a physical file

RewriteCond %{REQUEST_FILENAME} !-f

# and the requested path and file doesn't directly match a physical folder

RewriteCond %{REQUEST_FILENAME} !-d

# internally rewrite the request to the index.php script

RewriteRule .* index.php [L]

#

########## End - Joomla! core SEF Section

erix
Nie masz w htaccess niczego, co by pozwoliło na sensowne korzystanie z wildcardów.
token85
Cytat(erix @ 22.08.2011, 10:28:41 ) *
Nie masz w htaccess niczego, co by pozwoliło na sensowne korzystanie z wildcardów.



ok, pytanie, czy jest to przeszkodą, żeby forum działało na subdomenie? Jeśli nie to w jaki sposób to zrobić.

pzdr. Tomasz
erix
To już zależy od konkretnego modułu w Joomli.
token85
Cytat(erix @ 24.08.2011, 11:52:47 ) *
To już zależy od konkretnego modułu w Joomli.

Korzystam z kunena 1.65. Tak, że forum jest połączone z portalem. Mogę się mylić, ale słyszałem o sposobach z wykorzystaniem .htaccess i mod rewrite , które maskują takie linki np subdomeną. Są takie sposoby na necie, niestety nigdzie nie jest to wyjaśnione w ludzki sposób.
erix
Ale co Ci da sam mod_rewrite? Moduł też musi jakoś generować nowy schemat linków.
token85
Cytat(erix @ 25.08.2011, 12:02:09 ) *
Ale co Ci da sam mod_rewrite? Moduł też musi jakoś generować nowy schemat linków.




owszem, generuje to co poniżej jest zaznaczone kolorem czerownym, natomiast na część linku zaznaczona na zielona byłaby maska forum.sporthelp.pl
http://sporthelp.pl/forum/2-Kawiarenka/1-Witamy-w-Kunena%21.html
erix
Przeczytaj uważnie, że zrozumieniem.

Uwaga, skup się, piszę ostatni raz to, co w dwóch poprzednich postach: aplikacja NIE BĘDZIE automatycznie korzystać z nowego schematu linku, gdy tylko uaktywnisz rewrite w htaccess. Będzie korzystać ze starego schematu i zostanie to wszystko zignorowane. Chyba że korzysta z linków względnych, ale jest to mało prawdopodobne.

Musisz sprawdzić, jak moduł generuje linki; bez tego nie masz się co htaccess czepiać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.