htaccess意外参数/ URL更改

时间:2019-07-12 15:47:55

标签: php html .htaccess url

如果我使用katalog中的链接:

<a href="/katalog/musik">Musik</a>

它将在URL中打开:

/katalog/musik/?&kategorie1=musik[NC,L]

然后是页面。
但是,如果我自己在URL中打开/ katalog / musik,也会打开该页面。 其他规则也很好用,也可以使用。

如何更改它,如果我单击页面上的链接,则不会显示?&...。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

RewriteRule ^katalog/([A-Za-z]+)/([A-Za-z]+)/([0-9]+) dienstleister.php?id=$3&kategorie1=$1&kategorie2=$2 [NC,L]
RewriteRule ^katalog/([A-Za-z]+)/([A-Za-z]+) kategorie.php?kategorie1=$1&kategorie2=$2  [NC,L]
RewriteRule ^katalog/([A-Za-z]+) kategorie.php?kategorie1=$1 [NC,L]

2 个答案:

答案 0 :(得分:1)

更改规则的顺序,并在最后3条规则中添加结尾锚点:

import Vue from 'vue'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'
import App from './App.vue'

Vue.config.productionTip = false

Vue.use(Vuetify);

new Vue({
  render: h => h(App)
}).$mount('#app')

答案 1 :(得分:0)

使用[QSD]标志会导致查询字符串被丢弃。该标志在Apache 2.4.0及更高版本中可用。

添加QSD以重写标志:

RewriteRule ^katalog/([A-Za-z]+)/([A-Za-z]+)/([0-9]+) dienstleister.php?id=$3&kategorie1=$1&kategorie2=$2 [NC,QSD,L]
RewriteRule ^katalog/([A-Za-z]+)/([A-Za-z]+) kategorie.php?kategorie1=$1&kategorie2=$2  [NC,QSD,L]
RewriteRule ^katalog/([A-Za-z]+) kategorie.php?kategorie1=$1 [NC,QSD,L]