Tengo un sitio web ubicado en example.com. He construido un CMS basado en Laravel para administrar sitios pequeños y ahora intento configurar la reescritura.
En el directorio raíz mi .htaccess tiene:
RewriteRule ^(lorem|ipsum)/?(.*) cms/public/$2 [L,PT]
porque quiero volver a escribir example.com/lorem y example.com/ipsum en mi CMS. Esto funciona bien, pero luego tengo otro .htaccess en cms / public /:
RewriteRule assets/(.*) assets/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php
Eso es porque quiero tener cms / public / asset / available desde example.com/lorem/any/location/assets/file.css
y redirigir todo lo demás a index.php.
Parece que funciona, sin embargo, he notado que todos los archivos, incluidas las imágenes, se sirven como text/html
y el código PHP se ejecuta incluso en archivos que no son PHP. ¿Por qué sucede eso y cómo solucionarlo?
Respuestas
0 para la respuesta № 1De hecho, la reescritura no tenía la culpa. pongo Use php54
en cms / .htaccess y esta línea debería haber sido precedida por :Location *.php
. Después de agregarlo todo funciona perfectamente.