Mod 重写以获取 url 中的表达式作为参数
Mod rewrite to get expression in url as parameter
我正在尝试重写 url。我想在浏览器中输入这个url:
localhost/subDir/page-name/value1/value2
然后将 value1 en value 2 读取到查询字符串中,像这样:
localhost/subDir/page-name/?firstArg=value1&secondArg=value2
这是一个 wordpress 网站。 wordpress 安装在一个名为 "subDir" 的子目录中。 wordpress页面被称为
page-name" 并转到 localhost/subDir/page-name 有效。标准永久链接有效,因此启用 mod_rewrite。这是我的 .htacces 文件
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subDir/
RewriteRule page-name/([^/]+)/([^/]+)/? page-name/?firstArg=&secondArg= [QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subDir/index.php [L,QSA]
</IfModule>
# END WordPress
mod_rewrite 不将查询字符串视为匹配 URI 的一部分
和重写,应该分开处理。
RewriteCond "%{QUERY_STRING}" "^firstArag=([^=]*)&secondArg=([^=]*)
RewriteRule "/subDir/index.php" "http://localhost/subDir/page-name/%1/%2" [R]
[R]表示指向由RewriteRule指令
构造的URL
您可以用这个替换您当前的代码
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subDir/
RewriteRule ^page-name/([^/]+)/([^/]+)/?$ page-name/?firstArg=&secondArg= [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
</IfModule>
# END WordPress
我正在尝试重写 url。我想在浏览器中输入这个url:
localhost/subDir/page-name/value1/value2
然后将 value1 en value 2 读取到查询字符串中,像这样:
localhost/subDir/page-name/?firstArg=value1&secondArg=value2
这是一个 wordpress 网站。 wordpress 安装在一个名为 "subDir" 的子目录中。 wordpress页面被称为 page-name" 并转到 localhost/subDir/page-name 有效。标准永久链接有效,因此启用 mod_rewrite。这是我的 .htacces 文件
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subDir/
RewriteRule page-name/([^/]+)/([^/]+)/? page-name/?firstArg=&secondArg= [QSA]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /subDir/index.php [L,QSA]
</IfModule>
# END WordPress
mod_rewrite 不将查询字符串视为匹配 URI 的一部分 和重写,应该分开处理。
RewriteCond "%{QUERY_STRING}" "^firstArag=([^=]*)&secondArg=([^=]*)
RewriteRule "/subDir/index.php" "http://localhost/subDir/page-name/%1/%2" [R]
[R]表示指向由RewriteRule指令
构造的URL您可以用这个替换您当前的代码
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /subDir/
RewriteRule ^page-name/([^/]+)/([^/]+)/?$ page-name/?firstArg=&secondArg= [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L,QSA]
</IfModule>
# END WordPress