.htaccess 漂亮的网址,空格?

Posted

技术标签:

【中文标题】.htaccess 漂亮的网址,空格?【英文标题】:.htaccess pretty url, spaces? 【发布时间】:2012-06-08 00:43:38 【问题描述】:

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

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 用 %20 格式化它,但我怎么能用 .htaccess 做到这一点,所以 url 可以是

mydomain.com/something very random/somethng/something

第一个单词也会以- 和一个随机数作为结尾,例如-4738

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

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

【问题讨论】:

【参考方案1】:

用这个替换你的代码

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]

【讨论】:

以上是关于.htaccess 漂亮的网址,空格?的主要内容,如果未能解决你的问题,请参考以下文章

HTACCESS 短网址并修改我的网址

.htaccess修复漂亮的网址

HTACCESS RewriteRules 带有漂亮的 SEO 网址(不允许访问物理文件位置)

带有 .htaccess 的漂亮 URL

.htaccess 文件用于漂亮的 url

.htaccess 中带有查询字符串的 301 的正确语法是啥? [关闭]