SEO Friendly URL a Dynamic Arabic Category URL usando PHP

Actualmente tengo una url como esta

domain / index.php? cat = مال_وأعمال

Quiero configurar las cosas para que nuestra gente de Marketing pueda publicar URLs como

dominio / مال_وأعمال

He intentado varias soluciones que incluyen:

mod_rewrite: el problema con este enfoque es que se convierte en un gran archivo .htaccess, ya que necesitamos escribir una regla para cada categoría.

RewriteMap: esto estuvo muy cerca ya que pude consultar la base de datos para crear un archivo de mapa para su salida. Sin embargo, desde entonces he aprendido que no tenemos acceso a httpd.conf.

index.php – He intentado ejecutar todo a través de nuestro archivo index.php que funciona, pero no mantiene la URL en el navegador amigable para fines de SEO.

Espero que alguien tenga otra idea que pueda ayudar, realmente lo agradecería. Si tiene una referencia a algo en la web que ayudaría, sería genial también.

php .htaccess mod-rewrite seo-friendly

Puede usar la siguiente regla para asignar cada solicitud que su ruta de URI solo contenga un único segmento de ruta en el index.php sin incluir los archivos existentes:

RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^[^/]+$ index.php?cat=$0 [L] 

Tenga en cuenta que en realidad tiene que solicitar /مال_وأعمال que se reescriba internamente en /index.php?cat=مال_وأعمال .

En primer lugar, debe crear un subdominio catch all que envíe todas las solicitudes a su VirtualHost individual:

 ServerAlias *.website.com 

Entonces puedes:

  1. Inspeccione el host HTTP a nivel de la aplicación y haga lo que sea necesario (ya sea que brinde contenido desde el subdominio virtual o haga una redirección 301 a www.
  2. Use una sola regla mod_rewrite para reescribir la URL como sugirió inicialmente.

Aún puede usar la solución mod_rewrite. El truco es el parámetro [L] , que significa detener mod_rewriting después de esa línea. Supongamos que tiene tres páginas “index.php”, “about_us.php” y “contact_us.php”, y luego cualquier otra cosa que escriba que desee redirigir a una categoría. Podría hacer algo como lo siguiente:

  RewriteEngine On RewriteBase / RewriteRule index\.php index.php [L] RewriteRule about_us(\.php)? about_us.php [L] RewriteRule contact_us(\.php)? contact_us.php [L] RewriteRule (.*) index.php?cat=$1  

De esta forma, si van a index.php (o simplemente index ) obtienen su archivo index.php. Si van a about_us.php (o solo about_us ) obtienen su archivo about_us.php. Pero si van a la test (que no se especificó en las primeras tres líneas) se redirigen a index.php?cat=test