2010-01-26 7 views
0

J'ai besoin d'aide sur mod_rewrite,mod_rewrite Assitance

ceci est mon adresse wordpress:

http://localhost/my_v2010/restaurants?m=display_Add

base_url: http://localhost/my_v2010/

post_name: Restaurant

chaîne de requête: m = Afficher_Ajouter

Je voudrais utiliser le mode de réécriture, que l'utilisateur il suffit de taper

http://localhost/my_v2010/restaurants/display_Add

la moindre idée comment écrire dans .htaccess?

J'ai essayé

RewriteEngine On 
RewriteBase /my_v2010/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /my_v2010/index.php [L] 
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [L] 

mais pas de chance, il n'a pas montré ce qui avait montré http://localhost/my_v2010/restaurants?m=display_Add . J'ai donc besoin de votre aide. Merci beaucoup!

Répondre

1

Force la redirection d'URL personnalisée retour à la navigateur afin que WordPress peut le comprendre:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /my_v2010/ 
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /my_v2010/index.php [L] 
</IfModule> 
# END WordPress 

Cela va réécrire la demande au format attendu et ensuite revenir à travers, en le faisant passer par la page index.php pour WordPress.

+0

ya, c'est wordpress original. Htaccess, j'essaie de le modifier lorsque l'utilisateur accède à PAGE, le système permet de passer la chaîne de requête, mais je voudrais l'URL look plus convivial, comparer? = display_Add,/display_Add serait plus agréable à voir. – Shiro

+0

Mon correctif ne fonctionnait pas pour vous? – nortron

+0

malheureusement, cela n'a pas fonctionné pour moi :(Il rediriger vers workpress 404, en fait les "restaurants" juste une pages, je voudrais plus flexible, non seulement capable de faire avec les restaurants, mais l'autre page, qui avait besoin? <- en tant que chaîne de requête – Shiro

0

essayez de vous réorganiser les règles. la balise [L] signifie que c'est la dernière règle qui est exécutée.

+0

pouvez-vous s'il vous plaît montrez-moi le .htaccess comment réorganiser est le meilleur moyen, je sais que [L] signifie la dernière règle. Mais j'essaie d'échanger les 2 derniers rangs, mais pas de chance avec ça. – Shiro

+0

vous devez le déplacer au-dessus de la RewriteCond – Josh

0

je changer pour

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /my_v2010/ 
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /my_v2010/index.php [L] 
</IfModule> 
# END WordPress 

il devient 404 introuvable.

donc ce que je pense est http://localhost/my_v2010/restaurants/display_Add ne finissent pas comme http://localhost/my_v2010/restaurants?m=display_Add

je encore en mesure d'obtenir http://localhost/my_v2010/restaurants?m=display_Add course, mais pas http://localhost/my_v2010/restaurants/display_Add