rewriterule rewritecond mod_rewrite htaccess ejemplos php .htaccess mod-rewrite rewrite

php - rewritecond - rewriterule htaccess apache



Ocultar parte de la URL htaccess (1)

Mantenga su regla así:

RewriteEngine On RewriteCond %{REQUEST_FILE} !-f RewriteCond %{REQUEST_FILE} !-l RewriteCond %{REQUEST_URI} !^/article/.php [NC] RewriteRule ^(.+)$ /article.php/$1 [L]

Te permitirá tener tus enlaces como

http://example.org/news/1/first-article-test

La meta:

  1. El usuario llega al sitio donde se muestran los últimos 10 artículos (no hay problema aquí).
  2. El usuario hace clic en el título de un artículo utilizando este enlace href en una tabla:

    <a href=''"."article.php/".$type."/".$id."/".$web_title."''>".$title."</a>

  3. Todos los enlaces de cualquier $type se dirigen a article.php .
  4. article.php debe construirse de forma dinámica en función de la información de recuperación de $id de la base de datos.

Tengo esta URL reescrita en mi archivo htaccess:

RewriteEngine On RewriteCond %{REQUEST_URI} ^/article/? RewriteCond %{REQUEST_FILE} !-f RewriteCond %{REQUEST_FILE} !-l RewriteRule ^(.*)$ article.php?post_type=$1&post_id=$2&post_name=$3 [QSA,L]

Que está produciendo la URL: http://example.org/article.php/news/1/first-article-test cuando el usuario accede a article.php través de un enlace descrito en el punto 2.

Estoy tratando de eliminar la sección article.php de la URL anterior, por lo que se ve así: http://example.org/news/1/first-article-test

En el momento en que la página article.php está recibiendo las variables correctamente, está bajando otros datos de la base de datos en función del $id pasado por el enlace, pero la URL muestra article.php/...