.htaccess nechtěnný přístup z example.com/www

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pistolnik
Člen | 4
+
0
-

ahoj, potřeboval bych prosím pomoct s tímto problémem, applikaci jsem nahrál na hosting a podle FAQu přesměroval vše do /www přes .htaccess v rootu (přidal jsem tam jen přesměrování z www.example.cz->example.cz)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example\.cz [NC]
RewriteRule (.*) http://example.cz/$1 [R=301,QSA]
RewriteCond %{HTTP_HOST} ^example\.cz$
RewriteRule ^$ www/ [L]
RewriteCond %{HTTP_HOST} ^example\.cz$
RewriteRule (.*) www/$1 [L]

vše funguje v pohodě, jdu na example.cz a stránky se načtou, problém je v tom, že jsou přístupné i z example.cz/www

nemá s tim co dělat .htaccess v www, kde na hostingu zakazujou options -indexex?

# Apache configuration file (see httpd.apache.org/docs/current/mod/quickreference.html)

# disable directory listing
<IfModule mod_autoindex.c>
#DIREKTIVA NEPOVOLENA 	Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
	# RewriteBase /

	# prevents files starting with dot to be viewed by browser
	RewriteRule /\.|^\. - [F]

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

dá se s tim něco dělat?
díky moc

pistolnik
Člen | 4
+
0
-

po půl roce jsem googlil svůj problém znova a hodilo mě to sem…mno každopádně jsem to nakonec vyřešil přes router…= new Route(‚/www‘, ‚Error:404‘); jinak asi nejsem sám, kdo má tenhle problém viz. http://www.ddmp6.cz/www

MartinitCZ
Člen | 580
+
0
-

To je zajímavý problém. Nějaký nápad na řešení přes .htaccess?
Tvorbu routy nepovažuji za řešení.

Majkl578
Moderator | 1364
+
0
-

Tak ono je to asi jasné, když tam je podmínka RewriteCond %{REQUEST_FILENAME} !-d, www/ je složka.

Možná by tam šlo ještě nějak zakomponovat podmínku na www/. Něco jako:

RewriteCond %{REQUEST_URI} ^/www [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]

popř. pravidlo zvlášť, před tím catch-all:

RewriteRule ^/www index.php [L]

Ale je zvláštní, že se takto chová.

MartinitCZ
Člen | 580
+
0
-

Stáhl jsem si sandbox a vedle složky app a www jsem dal toto:

RewriteEngine On
RewriteRule ^$ www/ [L]
RewriteRule (.*) www/$1 [L]

A web se zobrazí jako na sandbox.com/about, tak sandbox.com/www/about.

MartinitCZ
Člen | 580
+
0
-

Nemáte někdo nějaký nápad na řešení? Mohlo by se to pak do planette, jelikož není ideální mít přístupný web přes 2 adresy.