【问题标题】:HTACCESS friendly urls with parameters带有参数的 HTACCESS 友好 url
【发布时间】:2014-10-04 04:17:32
【问题描述】:

我有问题。

我的 .htaccess 文件:

RewriteEngine On  
RewriteBase /

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z-]+)$ index.php?$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)/([a-z-]+)$ index.php?$1=$2

我需要重定向网址,例如: domena.pl/index.php?aktualnosci 到 domena.pl/aktualnosci

我会尝试:

RewriteCond %{QUERY_STRING} aktualnosci
RewriteRule ^index\.php$ /aktualnosci? [L,R=301]

但这是重定向循环.. 此外,我有几个 url 是空格,我想将这些空格更改为 line 和波兰字符,如 ąćźż 到 aczz。

有人可以帮忙吗?

【问题讨论】:

  • 非标准字符需要进行 urlencoded,不确定这是否能如您所愿。

标签: php .htaccess friendly-url


【解决方案1】:

你可以使用:

RewriteEngine On  
RewriteBase /

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

RewriteCond %{THE_REQUEST} \s/+index\.php\?([^\s=]+?)\s [NC]
RewriteRule ^ /%1? [R=302,L,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)/([a-z-]+)$ index.php?$1=$2 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z-]+)$ index.php?$1 [L,QSA]

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-07-11
  • 2014-02-26
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 2022-11-29
  • 2019-11-08
  • 1970-01-01
相关资源
最近更新 更多