Snažím se dělat web pomocí PHP narazil jsem na problém ohledně Pretty URL kdy nechci nakonci mít .php
v html jsem měl Pretty URL řešený přes .htaccess takto :
ErrorDocument 404 /404/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.html
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
Kód fungoval pro každou stránku => https://www.xxx.xx.cz/xxx/xxx.html = > https://www.xxx.xx.cz/xxx/xxx/
Otázka je jak Pretty Url udělat pro php.
Když v .htaccess změním .html na .php tak dostanu error 500
Děkuji za jakékoliv rady
Já to mám řešené takto (pro html i php):
RewriteEngine On
RewriteBase /
# exists file with extension?
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L]
# redirect, but only once
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.php$ $1 [L,R=301,NE]
RewriteEngine On
RewriteBase /
# exists file with extension?
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^.*$ $0.html [L]
# redirect, but only once
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.html$ $1 [L,R=301,NE]
tento kód v .htaccess by měl udělat toto: http://váš.web/soubor.php=>http://váš.web/soubor nebo http://váš.web/soubor.html=>http://váš.web/soubor
Děkuji za váš příspěvek nakonec jsem problém vyřešil že místo .html jsem napsal .php?
:D
Narazil jsem na jeden problém a to že když v udělám např <a href="/folder/webpage/> Text </a>
a jsem na stránce např "kontakt"
tak mě to hodí na http://www.xxx.xx.cz/folder/webpage/kontakt/ což samozřejmě neexistuje.
Problém jsem vyřešil takto
<a href = "http://www.xxx.xx.cz/folder/webpage/">Funkční link</a>
Nevím proč ale funguje to .htaccess je pro mě velká neznámá ...
Nejsem si tím jistý, ale mám dojem že jsi chtěl možná použít <a href="folder/webpage/> Text </a> (to první lomítko tě hodí na kořenový adresář webu)