1

这是我的代码,可让我更改

mydomain.com/?name=something&action=something&other=something

mydomain.com/something/something/something

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} -d [OR] 
RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteRule .* - [L]

RewriteRule ^(\w+)/(\w+)/(\w+)/?$ /index?name=$1&action=$2&other=$3
RewriteRule ^(\w+)/(\w+)/?$ /index.php?name=$1&action=$2
RewriteRule ^(\w+)/?$ /index.php?name=$1

但有时第一个“东西”可能是其中有空格的东西,我不太确定如何格式化它。例如“非常随机的东西”。我知道 url 用 a 格式化它,%20但我怎么能用 .htaccess 做到这一点,所以 url 可以是

mydomain.com/something 非常随机/something/something

第一个单词也将带有一个-和一个随机数,例如-4738

例如mydomain.com/something very random-4738/something/something

我将如何使用我正在使用的 .htaccess 代码来获取它?

4

1 回答 1

0

用这个替换你的代码

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{SCRIPT_FILENAME} -d [OR] 
RewriteCond %{SCRIPT_FILENAME} -f [OR]
RewriteCond %{SCRIPT_FILENAME} -l
RewriteRule .* - [L]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /index.php?name=$1&action=$2&other=$3 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ /index.php?name=$1&action=$2 [L,QSA]
RewriteRule ^([^/]+)/?$ /index.php?name=$1 [L,QSA]
于 2012-06-03T18:55:38.260 回答