0

書き直しルールがあります。

RewriteRule   ^pages/(.+)$   info_pages.php?page_url=$1   [L]

これは以前はうまく機能していました。

私のURLはこのようなものですが、ローカルホストにあります

http://dressgirls.com/demo2/pages/contact-us.html

これが指す

http://dressgirls.com/demo2/info_pages.php

私がこれを使うとき

echo $_GET['page_url'];

それは私に与えます。contact-us.html/contact-us.html/contact-us.html

contact-us.html一度だけ与える必要があります。

ここで何が悪いのか分かりますか?

これは完全なコードです

 <IfModule mod_rewrite.c>

 RewriteEngine On

 RewriteRule   ^pages/(.+)$   info_pages.php?page_url=$1   [L]
 RewriteRule   ^reviews/(.+)$   edit_review.php?review_id=$1   [L]
 RewriteRule   ^deals/(.+)$   category.php   [L]
 RewriteRule   ^city/(.+)$   location_deals.php   [L]

 #RewriteCond %{REQUEST_FILENAME} =-f
 #RewriteRule ^(.*)\.php$ $1.html [NC,L]
 #RewriteRule ^(.*)\.html$  $1.php [NC,L]



RewriteCond %{REQUEST_FILENAME} ^(.*)\.html$
RewriteCond %1.php -f
RewriteRule ^(.*)\.html$ $1.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ deal-detail-page.php  [QSA,L]
</IfModule>

ありがとう。

4

1 に答える 1

0

コードを次のように変更します。

RewriteBase  http://dressgirls.com/
RewriteRule   ^pages/(.+)$   info_pages.php?page_url=$1   [L]

試してみてください。

于 2013-01-16T11:04:13.740 に答える