这是我的代码,允许我更改
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
但有时第一个“东西”可能是带有空格的东西,我不太确定如何格式化它。例如“非常随机的东西”。我知道网址是用%20
格式化的,但我怎么能用.htaccess这样做,所以网址可能是
mydomain.com/something very random / somethng / something
第一个单词也将以-
和随机数跟踪,例如-4738
e.g。 mydomain.com/something very random-4738/something/something
我如何使用我正在使用的.htaccess代码来解决这个问题?
答案 0 :(得分: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]