htaccess rewriterule issue - url中的文件名

时间:2014-04-04 15:35:38

标签: .htaccess mod-rewrite redirect

我有以下问题。 在我的htaccess中,我想制作重写规则。

我的网址:

http://www.domain.com/pool/slovakia/senec/aquapark-senec/

但是当我输入此网址时,浏览器会将其重定向到:

http://www.domain.com/pool_detail.php/?title_url=pool&pool_country_url=slovakia&pool_city_url=senec&pool_url=aquapark-senec

htaccess的:

RewriteRule ^(pool)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ pool_detail.php?title_url=$1&pool_country_url=$2&pool_city_url=$3&pool_url=$4 [QSA]

我真的不明白为什么会发生这种情况,因为我在htaccess中使用相同的行进行住宿并且效果很好:

RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ accomodation_detail.php?title_url=$1&country_url=$2&city_url=$3&accomodation_url=$4 [QSA]

有人可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]  

RewriteCond %{HTTP_HOST} ^domain.sk
RewriteRule (.*) http://www.domain.sk/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^domain.cz
RewriteRule (.*) http://www.domain.cz/$1 [R=301,L]

# add slash at end if not exists
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$        /$1$2/ [L,R=301]

ErrorDocument 404 /404.php

# ********** accomodation.php **********
RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/search/?$ accomodation.php?title_url=$1&country_url=$2&city_url=$3 [QSA]

# ********** accomodation_detail.php **********
RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ accomodation_detail.php?title_url=$1&country_url=$2&city_url=$3&accomodation_url=$4 [QSA]

# ********** accomodation.php **********
RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/search/?$ accomodation.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ accomodation.php?title_url=$1&country_url=$2&city_url=$3 [QSA]
RewriteRule ^(accomodation)/search/$ accomodation.php?title_url=$1 [QSA]
RewriteRule ^(accomodation)/([A-Za-z0-9-]+)/$ accomodation.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(accomodation)/$ accomodation.php?title_url=$1 [QSA]

# ********** accomodation_settings.php **********
RewriteRule ^(accomodation-settings)/?$ accomodation_settings.php [QSA]

# ********** accomodation_billing.php **********
RewriteRule ^(accomodation-billing)/?$ accomodation_billing.php [QSA]

# ********** accomodation_gallery.php **********
RewriteRule ^(accomodation-gallery)/?$ accomodation_gallery.php [QSA]

# ********** accomodation_stats.php **********
RewriteRule ^(accomodation-statistics)/?$ accomodation_stats.php [QSA]

# ********** accomodation_specials.php **********
RewriteRule ^(accomodation-specials)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/search/?$ accomodation_specials.php?title_url=$1&country_url=$2&city_url=$3 [QSA]
RewriteRule ^(accomodation-specials)/([A-Za-z0-9-]+)/search/?$ accomodation_specials.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(accomodation-specials)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ accomodation_specials.php?title_url=$1&country_url=$2&city_url=$3 [QSA]
RewriteRule ^(accomodation-specials)/search/$ accomodation_specials.php?title_url=$1 [QSA]
RewriteRule ^(accomodation-specials)/([A-Za-z0-9-]+)/$ accomodation_specials.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(accomodation-specials)/?$ accomodation_specials.php [QSA]

# ********** skiresort.php **********
RewriteRule ^(ski-resorts)/([A-Za-z0-9-]+)/search/?$ skiresort.php?title_url=$1&skiresort_country_url=$2 [QSA]

# ********** skiresort_detail.php **********
RewriteRule ^(ski-resorts)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ skiresort_detail.php?title_url=$1&skiresort_country_url=$2&skiresort_url=$3 [QSA]

# ********** skiresort.php **********
RewriteRule ^(ski-resorts)/([A-Za-z0-9-]+)/?$ skiresort.php?title_url=$1&skiresort_country_url=$2 [QSA]
RewriteRule ^(ski-resorts)/([A-Za-z0-9-]+)/?$ skiresort.php?title_url=$1&skiresort_country_url=$2 [QSA]
RewriteRule ^(ski-resorts)/?$ skiresort.php?title_url=$1 [QSA]

# ********** pool.php **********
RewriteRule ^(pool)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/search/?$ pool.php?title_url=$1&pool_country_url=$2&pool_city_url=$3 [QSA]

# ********** pool_detail.php **********
RewriteRule ^(pool)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ pool_detail.php?title_url=$1&pool_country_url=$2&pool_city_url=$3&pool_url=$4 [QSA]

# ********** pool.php **********
RewriteRule ^(pool)/([A-Za-z0-9-]+)/search/?$ pool.php?title_url=$1&pool_country_url=$2 [QSA]
RewriteRule ^(pool)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/$ pool.php?title_url=$1&pool_country_url=$2&pool_city_url=$3 [QSA]
RewriteRule ^(pool)/search/$ pool.php?title_url=$1 [QSA]
RewriteRule ^(pool)/([A-Za-z0-9-]+)/$ pool.php?title_url=$1&pool_country_url=$2 [QSA]
RewriteRule ^(pool)/$ pool.php?title_url=$1 [QSA]

# ********** destinations_detail.php **********
RewriteRule ^(destinations)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ destinations_detail.php?title_url=$1&country_url=$2&destination_url=$3 [QSA]

# ********** destinations.php **********
RewriteRule ^(destinations)/([A-Za-z0-9-]+)/?$ destinations.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(destinations)/?$ destinations.php?title_url=$1 [QSA]

# ********** activities_detail.php **********
RewriteRule ^(activities)/([A-Za-z0-9-]+)/?$ activities_detail.php?title_url=$1&activity_url=$2 [QSA]

# ********** activities.php **********
RewriteRule ^(activities)/?$ activities.php?title_url=$1 [QSA]

# ********** themes_detail.php **********
RewriteRule ^(themes)/([A-Za-z0-9-]+)/?$ themes_detail.php?title_url=$1&theme_url=$2 [QSA]

# ********** themes.php **********
RewriteRule ^(themes)/?$ themes.php?title_url=$1 [QSA]

# ********** shops.php **********
RewriteRule ^(shops)/?$ shops.php?title_url=$1 [QSA]

# ********** faq.php **********
RewriteRule ^(faq)/?$ faq.php?title_url=$1 [QSA]

# ********** contact.php **********
RewriteRule ^(contact)/?$ contact.php?title_url=$1 [QSA]

# ********** registration.php **********
RewriteRule ^(registration)/?$ registration.php?title_url=$1 [QSA]

# ********** registration_accomodation.php **********
RewriteRule ^(registration-accomodation)/?$ registration_accomodation.php?title_url=$1 [QSA]
# ********** login_accomodation.php **********
RewriteRule ^(login-accomodation)/?$ login_accomodation.php?title_url=$1 [QSA]

# ********** forgotten_pass_accomodation.php **********
RewriteRule ^(forgoten-pass-accomodation)/?$ forgotten_pass_accomodation.php?title_url=$1 [QSA]

# ********** agent_send.php **********
RewriteRule ^(agent-send)/?$ agent_send.php?title_url=$1 [QSA]

# ********** search.php **********
RewriteRule ^(search)/?$ search.php?title_url=$1 [QSA]

# ********** sutaz.php **********
RewriteRule ^(sutaz-o-skvele-ceny)/?$ sutaz.php?title_url=$1 [QSA]

# ********** sitemap.php **********
RewriteRule ^(site-map)/?$ sitemap.php?title_url=$1 [QSA]

# ********** ads_order.php **********
RewriteRule ^(advertising-order)/?$ ads_order.php?title_url=$1 [QSA]

# ********** snow_informations.php **********
RewriteRule ^(snow-informations)/([A-Za-z0-9-]+)/?$ snow_info.php?title_url=$1&country_url=$2 [QSA]
RewriteRule ^(snow-informations)/?$ snow_info.php?title_url=$1 [QSA]

RewriteRule ^(admin)($|/) - [L]
RewriteRule ^(cms)($|/) - [L]

RewriteRule ^([A-Za-z0-9-]+)/$ page.php?title_url=$1

# ********** REDIRECT ALL currency=czk TO INDEX.PHP **********
RewriteCond %{QUERY_STRING} currency=czk
RewriteRule .* /? [R,L]

# ********** REDIRECT ALL currency=dollar TO INDEX.PHP **********
RewriteCond %{QUERY_STRING} currency=dollar
RewriteRule .* /? [R,L]

# ********** REDIRECT ALL currency=euro TO INDEX.PHP **********
RewriteCond %{QUERY_STRING} currency=euro
RewriteRule .* /? [R,L]

# ********** DEAD LINKS **********
RewriteRule (.*)popup_map_(.*) http://www.domain.com/ [L,R=301]
Redirect 301 /contact/faq/advertising/destinations/czech-republic/olomouc-region/ /contact/
RewriteRule ^activities/snow-scooters/registration/accomodation/search/(.*) /activities? [L,R=301]
RewriteRule ^advertising/newsletter/faq/accomodation/search/(.*) /advertising? [L,R=301]
RewriteRule ^activities/snow-scooters/registration/ski-resorts/slovakia/(.*) /activities? [L,R=301]